ITP001 Axioms: ITP030^7.ax


%------------------------------------------------------------------------------
% File     : ITP030^7 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 syntactic export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau19] Gauthier (2019), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : list.ax [Gau19]
%          : HL4030^7.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :  624 ( 145 unt; 143 typ;   0 def)
%            Number of atoms       : 1473 ( 692 equ;  53 cnn)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 9819 (  53   ~;  26   |; 318   &;9052   @)
%                                         ( 154 <=>; 216  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   31 (   9 avg;9052 nst)
%            Number of types       :    4 (   3 usr)
%            Number of type conns  :  945 ( 945   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  142 ( 140 usr;   6 con; 0-7 aty)
%            Number of variables   : 2498 (  99   ^2155   !;  95   ?;2498   :)
%                                         ( 149  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tyop_2Eind__type_2Erecspace,type,
    tyop_2Eind__type_2Erecspace: $tType > $tType ).

thf(tyop_2Elist_2Elist,type,
    tyop_2Elist_2Elist: $tType > $tType ).

thf(tyop_2Emin_2Ebool,type,
    tyop_2Emin_2Ebool: $tType ).

thf(tyop_2Emin_2Efun,type,
    tyop_2Emin_2Efun: $tType > $tType > $tType ).

thf(tyop_2Enum_2Enum,type,
    tyop_2Enum_2Enum: $tType ).

thf(tyop_2Eone_2Eone,type,
    tyop_2Eone_2Eone: $tType ).

thf(tyop_2Eoption_2Eoption,type,
    tyop_2Eoption_2Eoption: $tType > $tType ).

thf(tyop_2Epair_2Eprod,type,
    tyop_2Epair_2Eprod: $tType > $tType > $tType ).

thf(c_2Ebool_2E_21,type,
    c_2Ebool_2E_21: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).

thf(c_2Earithmetic_2E_2B,type,
    c_2Earithmetic_2E_2B: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Epair_2E_2C,type,
    c_2Epair_2E_2C: 
      !>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) ).

thf(c_2Earithmetic_2E_2D,type,
    c_2Earithmetic_2E_2D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Ebool_2E_2F_5C,type,
    c_2Ebool_2E_2F_5C: $o > $o > $o ).

thf(c_2Enum_2E0,type,
    c_2Enum_2E0: tyop_2Enum_2Enum ).

thf(c_2Eprim__rec_2E_3C,type,
    c_2Eprim__rec_2E_3C: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).

thf(c_2Earithmetic_2E_3C_3D,type,
    c_2Earithmetic_2E_3C_3D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).

thf(c_2Emin_2E_3D,type,
    c_2Emin_2E_3D: 
      !>[A_27a: $tType] : ( A_27a > A_27a > $o ) ).

thf(c_2Emin_2E_3D_3D_3E,type,
    c_2Emin_2E_3D_3D_3E: $o > $o > $o ).

thf(c_2Earithmetic_2E_3E_3D,type,
    c_2Earithmetic_2E_3E_3D: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).

thf(c_2Ebool_2E_3F,type,
    c_2Ebool_2E_3F: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).

thf(c_2Ebool_2E_3F_21,type,
    c_2Ebool_2E_3F_21: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).

thf(c_2Emin_2E_40,type,
    c_2Emin_2E_40: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a ) ).

thf(c_2Elist_2EALL__DISTINCT,type,
    c_2Elist_2EALL__DISTINCT: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Elist_2EAPPEND,type,
    c_2Elist_2EAPPEND: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Ebool_2EARB,type,
    c_2Ebool_2EARB: 
      !>[A_27a: $tType] : A_27a ).

thf(c_2Ecombin_2EASSOC,type,
    c_2Ecombin_2EASSOC: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > A_27a ) > $o ) ).

thf(c_2Epred__set_2EBIGUNION,type,
    c_2Epred__set_2EBIGUNION: 
      !>[A_27a: $tType] : ( ( ( A_27a > $o ) > $o ) > A_27a > $o ) ).

thf(c_2Earithmetic_2EBIT1,type,
    c_2Earithmetic_2EBIT1: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Earithmetic_2EBIT2,type,
    c_2Earithmetic_2EBIT2: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Eind__type_2EBOTTOM,type,
    c_2Eind__type_2EBOTTOM: 
      !>[A_27a: $tType] : ( tyop_2Eind__type_2Erecspace @ A_27a ) ).

thf(c_2Ecombin_2EC,type,
    c_2Ecombin_2EC: 
      !>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27a > A_27b > A_27c ) > A_27b > A_27a > A_27c ) ).

thf(c_2Epred__set_2ECARD,type,
    c_2Epred__set_2ECARD: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > tyop_2Enum_2Enum ) ).

thf(c_2Epred__set_2ECHOICE,type,
    c_2Epred__set_2ECHOICE: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a ) ).

thf(c_2Ecombin_2ECOMM,type,
    c_2Ecombin_2ECOMM: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27a > A_27b ) > $o ) ).

thf(c_2Ebool_2ECOND,type,
    c_2Ebool_2ECOND: 
      !>[A_27a: $tType] : ( $o > A_27a > A_27a > A_27a ) ).

thf(c_2Elist_2ECONS,type,
    c_2Elist_2ECONS: 
      !>[A_27a: $tType] : ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Eind__type_2ECONSTR,type,
    c_2Eind__type_2ECONSTR: 
      !>[A_27a: $tType] : ( tyop_2Enum_2Enum > A_27a > ( tyop_2Enum_2Enum > ( tyop_2Eind__type_2Erecspace @ A_27a ) ) > ( tyop_2Eind__type_2Erecspace @ A_27a ) ) ).

thf(c_2Ebool_2EDATATYPE,type,
    c_2Ebool_2EDATATYPE: 
      !>[A_27a: $tType] : ( A_27a > $o ) ).

thf(c_2Epred__set_2EDIFF,type,
    c_2Epred__set_2EDIFF: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > A_27a > $o ) ).

thf(c_2Epred__set_2EDISJOINT,type,
    c_2Epred__set_2EDISJOINT: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > $o ) ).

thf(c_2Elist_2EDROP,type,
    c_2Elist_2EDROP: 
      !>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EEL,type,
    c_2Elist_2EEL: 
      !>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > A_27a ) ).

thf(c_2Epred__set_2EEMPTY,type,
    c_2Epred__set_2EEMPTY: 
      !>[A_27a: $tType] : ( A_27a > $o ) ).

thf(c_2Elist_2EEVERY,type,
    c_2Elist_2EEVERY: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Elist_2EEVERYi,type,
    c_2Elist_2EEVERYi: 
      !>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Elist_2EEXISTS,type,
    c_2Elist_2EEXISTS: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Ebool_2EF,type,
    c_2Ebool_2EF: $o ).

thf(c_2Eind__type_2EFCONS,type,
    c_2Eind__type_2EFCONS: 
      !>[A_27a: $tType] : ( A_27a > ( tyop_2Enum_2Enum > A_27a ) > tyop_2Enum_2Enum > A_27a ) ).

thf(c_2Elist_2EFILTER,type,
    c_2Elist_2EFILTER: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EFIND,type,
    c_2Elist_2EFIND: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Eoption_2Eoption @ A_27a ) ) ).

thf(c_2Epred__set_2EFINITE,type,
    c_2Epred__set_2EFINITE: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > $o ) ).

thf(c_2Elist_2EFLAT,type,
    c_2Elist_2EFLAT: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a ) ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EFOLDL,type,
    c_2Elist_2EFOLDL: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > A_27a > A_27b ) > A_27b > ( tyop_2Elist_2Elist @ A_27a ) > A_27b ) ).

thf(c_2Elist_2EFOLDL2,type,
    c_2Elist_2EFOLDL2: 
      !>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27a > A_27b > A_27c > A_27a ) > A_27a > ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27c ) > A_27a ) ).

thf(c_2Elist_2EFOLDR,type,
    c_2Elist_2EFOLDR: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > A_27b ) > A_27b > ( tyop_2Elist_2Elist @ A_27a ) > A_27b ) ).

thf(c_2Elist_2EFRONT,type,
    c_2Elist_2EFRONT: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Epair_2EFST,type,
    c_2Epair_2EFST: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > A_27a ) ).

thf(c_2Elist_2EGENLIST,type,
    c_2Elist_2EGENLIST: 
      !>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > A_27a ) > tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EGENLIST__AUX,type,
    c_2Elist_2EGENLIST__AUX: 
      !>[A_27a: $tType] : ( ( tyop_2Enum_2Enum > A_27a ) > tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Epred__set_2EGSPEC,type,
    c_2Epred__set_2EGSPEC: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > ( tyop_2Epair_2Eprod @ A_27a @ $o ) ) > A_27a > $o ) ).

thf(c_2Elist_2EHD,type,
    c_2Elist_2EHD: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > A_27a ) ).

thf(c_2Ecombin_2EI,type,
    c_2Ecombin_2EI: 
      !>[A_27a: $tType] : ( A_27a > A_27a ) ).

thf(c_2Epred__set_2EIMAGE,type,
    c_2Epred__set_2EIMAGE: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( A_27a > $o ) > A_27b > $o ) ).

thf(c_2Ebool_2EIN,type,
    c_2Ebool_2EIN: 
      !>[A_27a: $tType] : ( A_27a > ( A_27a > $o ) > $o ) ).

thf(c_2Elist_2EINDEX__FIND,type,
    c_2Elist_2EINDEX__FIND: 
      !>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) ) ) ).

thf(c_2Elist_2EINDEX__OF,type,
    c_2Elist_2EINDEX__OF: 
      !>[A_27a: $tType] : ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Eoption_2Eoption @ tyop_2Enum_2Enum ) ) ).

thf(c_2Epred__set_2EINJ,type,
    c_2Epred__set_2EINJ: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( A_27a > $o ) > ( A_27b > $o ) > $o ) ).

thf(c_2Epred__set_2EINSERT,type,
    c_2Epred__set_2EINSERT: 
      !>[A_27a: $tType] : ( A_27a > ( A_27a > $o ) > A_27a > $o ) ).

thf(c_2Epred__set_2EINTER,type,
    c_2Epred__set_2EINTER: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > A_27a > $o ) ).

thf(c_2Epred__set_2EITSET,type,
    c_2Epred__set_2EITSET: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > A_27b ) > ( A_27a > $o ) > A_27b > A_27b ) ).

thf(c_2Ecombin_2EK,type,
    c_2Ecombin_2EK: 
      !>[A_27a: $tType,A_27b: $tType] : ( A_27a > A_27b > A_27a ) ).

thf(c_2Elist_2ELAST,type,
    c_2Elist_2ELAST: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > A_27a ) ).

thf(c_2Elist_2ELEN,type,
    c_2Elist_2ELEN: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum ) ).

thf(c_2Elist_2ELENGTH,type,
    c_2Elist_2ELENGTH: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > tyop_2Enum_2Enum ) ).

thf(c_2Ebool_2ELET,type,
    c_2Ebool_2ELET: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > A_27a > A_27b ) ).

thf(c_2Elist_2ELIST__APPLY,type,
    c_2Elist_2ELIST__APPLY: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Elist_2Elist @ ( A_27b > A_27a ) ) > ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2ELIST__BIND,type,
    c_2Elist_2ELIST__BIND: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Elist_2Elist @ A_27b ) > ( A_27b > ( tyop_2Elist_2Elist @ A_27a ) ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2ELIST__GUARD,type,
    c_2Elist_2ELIST__GUARD: $o > ( tyop_2Elist_2Elist @ tyop_2Eone_2Eone ) ).

thf(c_2Elist_2ELIST__IGNORE__BIND,type,
    c_2Elist_2ELIST__IGNORE__BIND: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2ELIST__LIFT2,type,
    c_2Elist_2ELIST__LIFT2: 
      !>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27b > A_27c > A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27c ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2ELIST__REL,type,
    c_2Elist_2ELIST__REL: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) > $o ) ).

thf(c_2Elist_2ELIST__TO__SET,type,
    c_2Elist_2ELIST__TO__SET: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > A_27a > $o ) ).

thf(c_2Elist_2ELLEX,type,
    c_2Elist_2ELLEX: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Elist_2ELRC,type,
    c_2Elist_2ELRC: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > A_27a > A_27a > $o ) ).

thf(c_2Elist_2ELUPDATE,type,
    c_2Elist_2ELUPDATE: 
      !>[A_27a: $tType] : ( A_27a > tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EMAP,type,
    c_2Elist_2EMAP: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) ) ).

thf(c_2Elist_2EMAP2,type,
    c_2Elist_2EMAP2: 
      !>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27b > A_27c > A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27c ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Earithmetic_2EMIN,type,
    c_2Earithmetic_2EMIN: tyop_2Enum_2Enum > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Elist_2ENIL,type,
    c_2Elist_2ENIL: 
      !>[A_27a: $tType] : ( tyop_2Elist_2Elist @ A_27a ) ).

thf(c_2Eoption_2ENONE,type,
    c_2Eoption_2ENONE: 
      !>[A_27a: $tType] : ( tyop_2Eoption_2Eoption @ A_27a ) ).

thf(c_2Earithmetic_2ENRC,type,
    c_2Earithmetic_2ENRC: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > tyop_2Enum_2Enum > A_27a > A_27a > $o ) ).

thf(c_2Elist_2ENULL,type,
    c_2Elist_2ENULL: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Earithmetic_2ENUMERAL,type,
    c_2Earithmetic_2ENUMERAL: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Ewhile_2EOLEAST,type,
    c_2Ewhile_2EOLEAST: ( tyop_2Enum_2Enum > $o ) > ( tyop_2Eoption_2Eoption @ tyop_2Enum_2Enum ) ).

thf(c_2Eoption_2EOPTION__BIND,type,
    c_2Eoption_2EOPTION__BIND: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Eoption_2Eoption @ A_27b ) > ( A_27b > ( tyop_2Eoption_2Eoption @ A_27a ) ) > ( tyop_2Eoption_2Eoption @ A_27a ) ) ).

thf(c_2Eoption_2EOPTION__MAP,type,
    c_2Eoption_2EOPTION__MAP: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27b ) > ( tyop_2Eoption_2Eoption @ A_27a ) > ( tyop_2Eoption_2Eoption @ A_27b ) ) ).

thf(c_2Elist_2EOPT__MMAP,type,
    c_2Elist_2EOPT__MMAP: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27b > ( tyop_2Eoption_2Eoption @ A_27a ) ) > ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Eoption_2Eoption @ ( tyop_2Elist_2Elist @ A_27a ) ) ) ).

thf(c_2Elist_2EPAD__LEFT,type,
    c_2Elist_2EPAD__LEFT: 
      !>[A_27a: $tType] : ( A_27a > tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EPAD__RIGHT,type,
    c_2Elist_2EPAD__RIGHT: 
      !>[A_27a: $tType] : ( A_27a > tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Eprim__rec_2EPRE,type,
    c_2Eprim__rec_2EPRE: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Erelation_2ERC,type,
    c_2Erelation_2ERC: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > A_27a > A_27a > $o ) ).

thf(c_2Epred__set_2EREST,type,
    c_2Epred__set_2EREST: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > A_27a > $o ) ).

thf(c_2Elist_2EREV,type,
    c_2Elist_2EREV: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EREVERSE,type,
    c_2Elist_2EREVERSE: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2ESET__TO__LIST,type,
    c_2Elist_2ESET__TO__LIST: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2ESHORTLEX,type,
    c_2Elist_2ESHORTLEX: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Epair_2ESND,type,
    c_2Epair_2ESND: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > A_27b ) ).

thf(c_2Elist_2ESNOC,type,
    c_2Elist_2ESNOC: 
      !>[A_27a: $tType] : ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Eoption_2ESOME,type,
    c_2Eoption_2ESOME: 
      !>[A_27a: $tType] : ( A_27a > ( tyop_2Eoption_2Eoption @ A_27a ) ) ).

thf(c_2Epred__set_2ESUBSET,type,
    c_2Epred__set_2ESUBSET: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > $o ) ).

thf(c_2Enum_2ESUC,type,
    c_2Enum_2ESUC: tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Elist_2ESUM,type,
    c_2Elist_2ESUM: ( tyop_2Elist_2Elist @ tyop_2Enum_2Enum ) > tyop_2Enum_2Enum ).

thf(c_2Elist_2ESUM__ACC,type,
    c_2Elist_2ESUM__ACC: ( tyop_2Elist_2Elist @ tyop_2Enum_2Enum ) > tyop_2Enum_2Enum > tyop_2Enum_2Enum ).

thf(c_2Epred__set_2ESUM__IMAGE,type,
    c_2Epred__set_2ESUM__IMAGE: 
      !>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( A_27a > $o ) > tyop_2Enum_2Enum ) ).

thf(c_2Ebool_2ET,type,
    c_2Ebool_2ET: $o ).

thf(c_2Elist_2ETAKE,type,
    c_2Elist_2ETAKE: 
      !>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2ETL,type,
    c_2Elist_2ETL: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Ebool_2ETYPE__DEFINITION,type,
    c_2Ebool_2ETYPE__DEFINITION: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > $o ) > ( A_27b > A_27a ) > $o ) ).

thf(c_2Epair_2EUNCURRY,type,
    c_2Epair_2EUNCURRY: 
      !>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27a > A_27b > A_27c ) > ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > A_27c ) ).

thf(c_2Epred__set_2EUNION,type,
    c_2Epred__set_2EUNION: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( A_27a > $o ) > A_27a > $o ) ).

thf(c_2Elist_2EUNIQUE,type,
    c_2Elist_2EUNIQUE: 
      !>[A_27a: $tType] : ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Epred__set_2EUNIV,type,
    c_2Epred__set_2EUNIV: 
      !>[A_27a: $tType] : ( A_27a > $o ) ).

thf(c_2Elist_2EUNZIP,type,
    c_2Elist_2EUNZIP: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) > ( tyop_2Epair_2Eprod @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) ) ) ).

thf(c_2Erelation_2EWF,type,
    c_2Erelation_2EWF: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).

thf(c_2Erelation_2EWFREC,type,
    c_2Erelation_2EWFREC: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( A_27a > A_27a > $o ) > ( ( A_27a > A_27b ) > A_27a > A_27b ) > A_27a > A_27b ) ).

thf(c_2Earithmetic_2EZERO,type,
    c_2Earithmetic_2EZERO: tyop_2Enum_2Enum ).

thf(c_2Elist_2EZIP,type,
    c_2Elist_2EZIP: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Epair_2Eprod @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) ) > ( tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) ) ).

thf(c_2Ebool_2E_5C_2F,type,
    c_2Ebool_2E_5C_2F: $o > $o > $o ).

thf(c_2Epred__set_2Ecount,type,
    c_2Epred__set_2Ecount: tyop_2Enum_2Enum > tyop_2Enum_2Enum > $o ).

thf(c_2Elist_2EdropWhile,type,
    c_2Elist_2EdropWhile: 
      !>[A_27a: $tType] : ( ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Elist_2EisPREFIX,type,
    c_2Elist_2EisPREFIX: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > $o ) ).

thf(c_2Elist_2Elist__CASE,type,
    c_2Elist_2Elist__CASE: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > A_27b > ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b ) > A_27b ) ).

thf(c_2Elist_2Elist__size,type,
    c_2Elist_2Elist__size: 
      !>[A_27a: $tType] : ( ( A_27a > tyop_2Enum_2Enum ) > ( tyop_2Elist_2Elist @ A_27a ) > tyop_2Enum_2Enum ) ).

thf(c_2Elist_2Enub,type,
    c_2Elist_2Enub: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) ).

thf(c_2Ecombin_2Eo,type,
    c_2Ecombin_2Eo: 
      !>[A_27a: $tType,A_27b: $tType,A_27c: $tType] : ( ( A_27c > A_27b ) > ( A_27a > A_27c ) > A_27a > A_27b ) ).

thf(c_2Elist_2EoEL,type,
    c_2Elist_2EoEL: 
      !>[A_27a: $tType] : ( tyop_2Enum_2Enum > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Eoption_2Eoption @ A_27a ) ) ).

thf(c_2Elist_2EoHD,type,
    c_2Elist_2EoHD: 
      !>[A_27a: $tType] : ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Eoption_2Eoption @ A_27a ) ) ).

thf(c_2Eone_2Eone,type,
    c_2Eone_2Eone: tyop_2Eone_2Eone ).

thf(c_2Eoption_2Eoption__CASE,type,
    c_2Eoption_2Eoption__CASE: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Eoption_2Eoption @ A_27a ) > A_27b > ( A_27a > A_27b ) > A_27b ) ).

thf(c_2Elist_2EsplitAtPki,type,
    c_2Elist_2EsplitAtPki: 
      !>[A_27a: $tType,A_27b: $tType] : ( ( tyop_2Enum_2Enum > A_27b > $o ) > ( ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27b ) > A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) > A_27a ) ).

thf(c_2Erelation_2Etotal,type,
    c_2Erelation_2Etotal: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).

thf(c_2Erelation_2Etransitive,type,
    c_2Erelation_2Etransitive: 
      !>[A_27a: $tType] : ( ( A_27a > A_27a > $o ) > $o ) ).

thf(c_2Ebool_2E_7E,type,
    c_2Ebool_2E_7E: $o > $o ).

thf(logicdef_2E_2F_5C,axiom,
    ! [V0: $o,V1: $o] :
      ( ( c_2Ebool_2E_2F_5C @ V0 @ V1 )
    <=> ( V0
        & V1 ) ) ).

thf(logicdef_2E_5C_2F,axiom,
    ! [V0: $o,V1: $o] :
      ( ( c_2Ebool_2E_5C_2F @ V0 @ V1 )
    <=> ( V0
        | V1 ) ) ).

thf(logicdef_2E_7E,axiom,
    ! [V0: $o] :
      ( ( c_2Ebool_2E_7E @ V0 )
    <=> ( (~) @ V0 ) ) ).

thf(logicdef_2E_3D_3D_3E,axiom,
    ! [V0: $o,V1: $o] :
      ( ( c_2Emin_2E_3D_3D_3E @ V0 @ V1 )
    <=> ( V0
       => V1 ) ) ).

thf(logicdef_2E_3D,axiom,
    ! [A_27a: $tType,V0: A_27a,V1: A_27a] :
      ( ( c_2Emin_2E_3D @ A_27a @ V0 @ V1 )
    <=> ( V0 = V1 ) ) ).

thf(quantdef_2E_21,axiom,
    ! [A_27a: $tType,V0f: A_27a > $o] :
      ( ( c_2Ebool_2E_21 @ A_27a @ V0f )
    <=> ! [V1x: A_27a] : ( V0f @ V1x ) ) ).

thf(quantdef_2E_3F,axiom,
    ! [A_27a: $tType,V0f: A_27a > $o] :
      ( ( c_2Ebool_2E_3F @ A_27a @ V0f )
    <=> ? [V1x: A_27a] : ( V0f @ V1x ) ) ).

thf(thm_2Elist_2ESUM__ACC__DEF,axiom,
    ( ! [V0acc: tyop_2Enum_2Enum] :
        ( ( c_2Elist_2ESUM__ACC @ ( c_2Elist_2ENIL @ tyop_2Enum_2Enum ) @ V0acc )
        = V0acc )
    & ! [V1h: tyop_2Enum_2Enum,V2t: tyop_2Elist_2Elist @ tyop_2Enum_2Enum,V3acc: tyop_2Enum_2Enum] :
        ( ( c_2Elist_2ESUM__ACC @ ( c_2Elist_2ECONS @ tyop_2Enum_2Enum @ V1h @ V2t ) @ V3acc )
        = ( c_2Elist_2ESUM__ACC @ V2t @ ( c_2Earithmetic_2E_2B @ V1h @ V3acc ) ) ) ) ).

thf(thm_2Elist_2EREV__DEF,axiom,
    ! [A_27a: $tType] :
      ( ! [V0acc: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EREV @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) @ V0acc )
          = V0acc )
      & ! [V1h: A_27a,V2t: tyop_2Elist_2Elist @ A_27a,V3acc: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EREV @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V1h @ V2t ) @ V3acc )
          = ( c_2Elist_2EREV @ A_27a @ V2t @ ( c_2Elist_2ECONS @ A_27a @ V1h @ V3acc ) ) ) ) ).

thf(thm_2Elist_2ELEN__DEF,axiom,
    ! [A_27a: $tType] :
      ( ! [V0n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2ELEN @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) @ V0n )
          = V0n )
      & ! [V1h: A_27a,V2t: tyop_2Elist_2Elist @ A_27a,V3n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2ELEN @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V1h @ V2t ) @ V3n )
          = ( c_2Elist_2ELEN @ A_27a @ V2t @ ( c_2Earithmetic_2E_2B @ V3n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ) ).

thf(thm_2Elist_2EPAD__RIGHT,axiom,
    ! [A_27a: $tType,V0c: A_27a,V1n: tyop_2Enum_2Enum,V2s: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EPAD__RIGHT @ A_27a @ V0c @ V1n @ V2s )
      = ( c_2Elist_2EAPPEND @ A_27a @ V2s @ ( c_2Elist_2EGENLIST @ A_27a @ ( c_2Ecombin_2EK @ A_27a @ tyop_2Enum_2Enum @ V0c ) @ ( c_2Earithmetic_2E_2D @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V2s ) ) ) ) ) ).

thf(thm_2Elist_2EPAD__LEFT,axiom,
    ! [A_27a: $tType,V0c: A_27a,V1n: tyop_2Enum_2Enum,V2s: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EPAD__LEFT @ A_27a @ V0c @ V1n @ V2s )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ ( c_2Ecombin_2EK @ A_27a @ tyop_2Enum_2Enum @ V0c ) @ ( c_2Earithmetic_2E_2D @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V2s ) ) ) @ V2s ) ) ).

thf(thm_2Elist_2EGENLIST__AUX,axiom,
    ! [A_27a: $tType] :
      ( ! [V0f: tyop_2Enum_2Enum > A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EGENLIST__AUX @ A_27a @ V0f @ c_2Enum_2E0 @ V1l )
          = V1l )
      & ! [V2f: tyop_2Enum_2Enum > A_27a,V3n: tyop_2Enum_2Enum,V4l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EGENLIST__AUX @ A_27a @ V2f @ ( c_2Enum_2ESUC @ V3n ) @ V4l )
          = ( c_2Elist_2EGENLIST__AUX @ A_27a @ V2f @ V3n @ ( c_2Elist_2ECONS @ A_27a @ ( V2f @ V3n ) @ V4l ) ) ) ) ).

thf(thm_2Elist_2EGENLIST,axiom,
    ! [A_27a: $tType] :
      ( ! [V0f: tyop_2Enum_2Enum > A_27a] :
          ( ( c_2Elist_2EGENLIST @ A_27a @ V0f @ c_2Enum_2E0 )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V1f: tyop_2Enum_2Enum > A_27a,V2n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2EGENLIST @ A_27a @ V1f @ ( c_2Enum_2ESUC @ V2n ) )
          = ( c_2Elist_2ESNOC @ A_27a @ ( V1f @ V2n ) @ ( c_2Elist_2EGENLIST @ A_27a @ V1f @ V2n ) ) ) ) ).

thf(thm_2Elist_2ESNOC,axiom,
    ! [A_27a: $tType] :
      ( ! [V0x: A_27a] :
          ( ( c_2Elist_2ESNOC @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V1x: A_27a,V2x_27: A_27a,V3l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ESNOC @ A_27a @ V1x @ ( c_2Elist_2ECONS @ A_27a @ V2x_27 @ V3l ) )
          = ( c_2Elist_2ECONS @ A_27a @ V2x_27 @ ( c_2Elist_2ESNOC @ A_27a @ V1x @ V3l ) ) ) ) ).

thf(thm_2Elist_2EisPREFIX,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EisPREFIX @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) @ V0l )
          = c_2Ebool_2ET )
      & ! [V1h: A_27a,V2t: tyop_2Elist_2Elist @ A_27a,V3l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EisPREFIX @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V1h @ V2t ) @ V3l )
          = ( c_2Elist_2Elist__CASE @ A_27a @ $o @ V3l @ c_2Ebool_2EF
            @ ^ [V4h_27: A_27a,V5t_27: tyop_2Elist_2Elist @ A_27a] : ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ A_27a @ V1h @ V4h_27 ) @ ( c_2Elist_2EisPREFIX @ A_27a @ V2t @ V5t_27 ) ) ) ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__primitive__def,axiom,
    ! [A_27a: $tType] :
      ( ( c_2Elist_2ESET__TO__LIST @ A_27a )
      = ( c_2Erelation_2EWFREC @ ( A_27a > $o ) @ ( tyop_2Elist_2Elist @ A_27a )
        @ ( c_2Emin_2E_40 @ ( ( A_27a > $o ) > ( A_27a > $o ) > $o )
          @ ^ [V0R: ( A_27a > $o ) > ( A_27a > $o ) > $o] :
              ( c_2Ebool_2E_2F_5C @ ( c_2Erelation_2EWF @ ( A_27a > $o ) @ V0R )
              @ ( c_2Ebool_2E_21 @ ( A_27a > $o )
                @ ^ [V1s: A_27a > $o] : ( c_2Emin_2E_3D_3D_3E @ ( c_2Ebool_2E_2F_5C @ ( c_2Epred__set_2EFINITE @ A_27a @ V1s ) @ ( c_2Ebool_2E_7E @ ( c_2Emin_2E_3D @ ( A_27a > $o ) @ V1s @ ( c_2Epred__set_2EEMPTY @ A_27a ) ) ) ) @ ( V0R @ ( c_2Epred__set_2EREST @ A_27a @ V1s ) @ V1s ) ) ) ) )
        @ ^ [V2SET__TO__LIST: ( A_27a > $o ) > ( tyop_2Elist_2Elist @ A_27a ),V3a: A_27a > $o] : ( c_2Ecombin_2EI @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Epred__set_2EFINITE @ A_27a @ V3a ) @ ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Emin_2E_3D @ ( A_27a > $o ) @ V3a @ ( c_2Epred__set_2EEMPTY @ A_27a ) ) @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a @ ( c_2Epred__set_2ECHOICE @ A_27a @ V3a ) @ ( V2SET__TO__LIST @ ( c_2Epred__set_2EREST @ A_27a @ V3a ) ) ) ) @ ( c_2Ebool_2EARB @ ( tyop_2Elist_2Elist @ A_27a ) ) ) ) ) ) ).

thf(thm_2Elist_2ELRC__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0R: A_27a > A_27a > $o,V1x: A_27a,V2y: A_27a] :
          ( ( c_2Elist_2ELRC @ A_27a @ V0R @ ( c_2Elist_2ENIL @ A_27a ) @ V1x @ V2y )
        <=> ( V1x = V2y ) )
      & ! [V3R: A_27a > A_27a > $o,V4h: A_27a,V5t: tyop_2Elist_2Elist @ A_27a,V6x: A_27a,V7y: A_27a] :
          ( ( c_2Elist_2ELRC @ A_27a @ V3R @ ( c_2Elist_2ECONS @ A_27a @ V4h @ V5t ) @ V6x @ V7y )
        <=> ( ( V6x = V4h )
            & ? [V8z: A_27a] :
                ( ( V3R @ V6x @ V8z )
                & ( c_2Elist_2ELRC @ A_27a @ V3R @ V5t @ V8z @ V7y ) ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT,axiom,
    ! [A_27a: $tType] :
      ( ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = c_2Ebool_2ET )
      & ! [V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
        <=> ( ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V0h @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1t ) ) )
            & ( c_2Elist_2EALL__DISTINCT @ A_27a @ V1t ) ) ) ) ).

thf(thm_2Elist_2EDROP__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2EDROP @ A_27a @ V0n @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V1n: tyop_2Enum_2Enum,V2x: A_27a,V3xs: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EDROP @ A_27a @ V1n @ ( c_2Elist_2ECONS @ A_27a @ V2x @ V3xs ) )
          = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1n @ c_2Enum_2E0 ) @ ( c_2Elist_2ECONS @ A_27a @ V2x @ V3xs ) @ ( c_2Elist_2EDROP @ A_27a @ ( c_2Earithmetic_2E_2D @ V1n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V3xs ) ) ) ) ).

thf(thm_2Elist_2ETAKE__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2ETAKE @ A_27a @ V0n @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V1n: tyop_2Enum_2Enum,V2x: A_27a,V3xs: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ETAKE @ A_27a @ V1n @ ( c_2Elist_2ECONS @ A_27a @ V2x @ V3xs ) )
          = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1n @ c_2Enum_2E0 ) @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a @ V2x @ ( c_2Elist_2ETAKE @ A_27a @ ( c_2Earithmetic_2E_2D @ V1n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V3xs ) ) ) ) ) ).

thf(thm_2Elist_2EFRONT__DEF,axiom,
    ! [A_27a: $tType,V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
      = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Emin_2E_3D @ ( tyop_2Elist_2Elist @ A_27a ) @ V1t @ ( c_2Elist_2ENIL @ A_27a ) ) @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a @ V0h @ ( c_2Elist_2EFRONT @ A_27a @ V1t ) ) ) ) ).

thf(thm_2Elist_2ELAST__DEF,axiom,
    ! [A_27a: $tType,V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
      = ( c_2Ebool_2ECOND @ A_27a @ ( c_2Emin_2E_3D @ ( tyop_2Elist_2Elist @ A_27a ) @ V1t @ ( c_2Elist_2ENIL @ A_27a ) ) @ V0h @ ( c_2Elist_2ELAST @ A_27a @ V1t ) ) ) ).

thf(thm_2Elist_2EREVERSE__DEF,axiom,
    ! [A_27a: $tType] :
      ( ( ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
          = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V1t ) @ ( c_2Elist_2ECONS @ A_27a @ V0h @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ) ).

thf(thm_2Elist_2EUNZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ( ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ ( c_2Elist_2ENIL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) )
        = ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27b ) ) )
      & ! [V0x: tyop_2Epair_2Eprod @ A_27a @ A_27b,V1l: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )] :
          ( ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ ( c_2Elist_2ECONS @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V0x @ V1l ) )
          = ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ECONS @ A_27a @ ( c_2Epair_2EFST @ A_27a @ A_27b @ V0x ) @ ( c_2Epair_2EFST @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ V1l ) ) ) @ ( c_2Elist_2ECONS @ A_27b @ ( c_2Epair_2ESND @ A_27a @ A_27b @ V0x ) @ ( c_2Epair_2ESND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ V1l ) ) ) ) ) ) ).

thf(thm_2Elist_2EZIP__def,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0l2: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ENIL @ A_27a ) @ V0l2 ) )
          = ( c_2Elist_2ENIL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) )
      & ! [V1l1: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V1l1 @ ( c_2Elist_2ENIL @ A_27b ) ) )
          = ( c_2Elist_2ENIL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) )
      & ! [V2x1: A_27a,V3l1: tyop_2Elist_2Elist @ A_27a,V4x2: A_27b,V5l2: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ECONS @ A_27a @ V2x1 @ V3l1 ) @ ( c_2Elist_2ECONS @ A_27b @ V4x2 @ V5l2 ) ) )
          = ( c_2Elist_2ECONS @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Epair_2E_2C @ A_27a @ A_27b @ V2x1 @ V4x2 ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V3l1 @ V5l2 ) ) ) ) ) ).

thf(thm_2Elist_2Elist__size__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0f: A_27a > tyop_2Enum_2Enum] :
          ( ( c_2Elist_2Elist__size @ A_27a @ V0f @ ( c_2Elist_2ENIL @ A_27a ) )
          = c_2Enum_2E0 )
      & ! [V1f: A_27a > tyop_2Enum_2Enum,V2a0: A_27a,V3a1: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2Elist__size @ A_27a @ V1f @ ( c_2Elist_2ECONS @ A_27a @ V2a0 @ V3a1 ) )
          = ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) @ ( c_2Earithmetic_2E_2B @ ( V1f @ V2a0 ) @ ( c_2Elist_2Elist__size @ A_27a @ V1f @ V3a1 ) ) ) ) ) ).

thf(thm_2Elist_2Elist__case__def,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0v: A_27b,V1f: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
          ( ( c_2Elist_2Elist__CASE @ A_27a @ A_27b @ ( c_2Elist_2ENIL @ A_27a ) @ V0v @ V1f )
          = V0v )
      & ! [V2a0: A_27a,V3a1: tyop_2Elist_2Elist @ A_27a,V4v: A_27b,V5f: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
          ( ( c_2Elist_2Elist__CASE @ A_27a @ A_27b @ ( c_2Elist_2ECONS @ A_27a @ V2a0 @ V3a1 ) @ V4v @ V5f )
          = ( V5f @ V2a0 @ V3a1 ) ) ) ).

thf(thm_2Elist_2Elist__TY__DEF,axiom,
    ! [A_27a: $tType] :
    ? [V0rep: ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Eind__type_2Erecspace @ A_27a )] :
      ( c_2Ebool_2ETYPE__DEFINITION @ ( tyop_2Eind__type_2Erecspace @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27a )
      @ ^ [V1a0_27: tyop_2Eind__type_2Erecspace @ A_27a] :
          ( c_2Ebool_2E_21 @ ( ( tyop_2Eind__type_2Erecspace @ A_27a ) > $o )
          @ ^ [V2_27list_27: ( tyop_2Eind__type_2Erecspace @ A_27a ) > $o] :
              ( c_2Emin_2E_3D_3D_3E
              @ ( c_2Ebool_2E_21 @ ( tyop_2Eind__type_2Erecspace @ A_27a )
                @ ^ [V3a0_27: tyop_2Eind__type_2Erecspace @ A_27a] :
                    ( c_2Emin_2E_3D_3D_3E
                    @ ( c_2Ebool_2E_5C_2F
                      @ ( c_2Emin_2E_3D @ ( tyop_2Eind__type_2Erecspace @ A_27a ) @ V3a0_27
                        @ ( c_2Eind__type_2ECONSTR @ A_27a @ c_2Enum_2E0 @ ( c_2Ebool_2EARB @ A_27a )
                          @ ^ [V4n: tyop_2Enum_2Enum] : ( c_2Eind__type_2EBOTTOM @ A_27a ) ) )
                      @ ( c_2Ebool_2E_3F @ A_27a
                        @ ^ [V5a0: A_27a] :
                            ( c_2Ebool_2E_3F @ ( tyop_2Eind__type_2Erecspace @ A_27a )
                            @ ^ [V6a1: tyop_2Eind__type_2Erecspace @ A_27a] :
                                ( c_2Ebool_2E_2F_5C
                                @ ( c_2Emin_2E_3D @ ( tyop_2Eind__type_2Erecspace @ A_27a ) @ V3a0_27
                                  @ ( ^ [V7a0: A_27a,V8a1: tyop_2Eind__type_2Erecspace @ A_27a] :
                                        ( c_2Eind__type_2ECONSTR @ A_27a @ ( c_2Enum_2ESUC @ c_2Enum_2E0 ) @ V7a0
                                        @ ( c_2Eind__type_2EFCONS @ ( tyop_2Eind__type_2Erecspace @ A_27a ) @ V8a1
                                          @ ^ [V9n: tyop_2Enum_2Enum] : ( c_2Eind__type_2EBOTTOM @ A_27a ) ) )
                                    @ V5a0
                                    @ V6a1 ) )
                                @ ( V2_27list_27 @ V6a1 ) ) ) ) )
                    @ ( V2_27list_27 @ V3a0_27 ) ) )
              @ ( V2_27list_27 @ V1a0_27 ) ) )
      @ V0rep ) ).

thf(thm_2Elist_2ENULL__DEF,axiom,
    ! [A_27a: $tType] :
      ( ( ( c_2Elist_2ENULL @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = c_2Ebool_2ET )
      & ! [V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ENULL @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
          = c_2Ebool_2EF ) ) ).

thf(thm_2Elist_2EHD,axiom,
    ! [A_27a: $tType,V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EHD @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
      = V0h ) ).

thf(thm_2Elist_2ETL__DEF,axiom,
    ! [A_27a: $tType] :
      ( ( ( c_2Elist_2ETL @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ETL @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
          = V1t ) ) ).

thf(thm_2Elist_2ESUM,axiom,
    ( ( ( c_2Elist_2ESUM @ ( c_2Elist_2ENIL @ tyop_2Enum_2Enum ) )
      = c_2Enum_2E0 )
    & ! [V0h: tyop_2Enum_2Enum,V1t: tyop_2Elist_2Elist @ tyop_2Enum_2Enum] :
        ( ( c_2Elist_2ESUM @ ( c_2Elist_2ECONS @ tyop_2Enum_2Enum @ V0h @ V1t ) )
        = ( c_2Earithmetic_2E_2B @ V0h @ ( c_2Elist_2ESUM @ V1t ) ) ) ) ).

thf(thm_2Elist_2EAPPEND,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) @ V0l )
          = V0l )
      & ! [V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a,V3h: A_27a] :
          ( ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V3h @ V1l1 ) @ V2l2 )
          = ( c_2Elist_2ECONS @ A_27a @ V3h @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V2l2 ) ) ) ) ).

thf(thm_2Elist_2EFLAT,axiom,
    ! [A_27a: $tType] :
      ( ( ( c_2Elist_2EFLAT @ A_27a @ ( c_2Elist_2ENIL @ ( tyop_2Elist_2Elist @ A_27a ) ) )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V0h: tyop_2Elist_2Elist @ A_27a,V1t: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a )] :
          ( ( c_2Elist_2EFLAT @ A_27a @ ( c_2Elist_2ECONS @ ( tyop_2Elist_2Elist @ A_27a ) @ V0h @ V1t ) )
          = ( c_2Elist_2EAPPEND @ A_27a @ V0h @ ( c_2Elist_2EFLAT @ A_27a @ V1t ) ) ) ) ).

thf(thm_2Elist_2ELENGTH,axiom,
    ! [A_27a: $tType] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = c_2Enum_2E0 )
      & ! [V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
          = ( c_2Enum_2ESUC @ ( c_2Elist_2ELENGTH @ A_27a @ V1t ) ) ) ) ).

thf(thm_2Elist_2EMAP,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0f: A_27a > A_27b] :
          ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ENIL @ A_27b ) )
      & ! [V1f: A_27a > A_27b,V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) )
          = ( c_2Elist_2ECONS @ A_27b @ ( V1f @ V2h ) @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V3t ) ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__DEF,axiom,
    ! [A_27a: $tType] :
      ( ! [V0x: A_27a] :
          ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) @ V0x )
          = c_2Ebool_2EF )
      & ! [V1h: A_27a,V2t: tyop_2Elist_2Elist @ A_27a,V3x: A_27a] :
          ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V1h @ V2t ) @ V3x )
        <=> ( ( V3x = V1h )
            | ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2t @ V3x ) ) ) ) ).

thf(thm_2Elist_2EFILTER,axiom,
    ! [A_27a: $tType] :
      ( ! [V0P: A_27a > $o] :
          ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V1P: A_27a > $o,V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EFILTER @ A_27a @ V1P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) )
          = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( V1P @ V2h ) @ ( c_2Elist_2ECONS @ A_27a @ V2h @ ( c_2Elist_2EFILTER @ A_27a @ V1P @ V3t ) ) @ ( c_2Elist_2EFILTER @ A_27a @ V1P @ V3t ) ) ) ) ).

thf(thm_2Elist_2EFOLDR,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0f: A_27a > A_27b > A_27b,V1e: A_27b] :
          ( ( c_2Elist_2EFOLDR @ A_27a @ A_27b @ V0f @ V1e @ ( c_2Elist_2ENIL @ A_27a ) )
          = V1e )
      & ! [V2f: A_27a > A_27b > A_27b,V3e: A_27b,V4x: A_27a,V5l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EFOLDR @ A_27a @ A_27b @ V2f @ V3e @ ( c_2Elist_2ECONS @ A_27a @ V4x @ V5l ) )
          = ( V2f @ V4x @ ( c_2Elist_2EFOLDR @ A_27a @ A_27b @ V2f @ V3e @ V5l ) ) ) ) ).

thf(thm_2Elist_2EFOLDL,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0f: A_27b > A_27a > A_27b,V1e: A_27b] :
          ( ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ V0f @ V1e @ ( c_2Elist_2ENIL @ A_27a ) )
          = V1e )
      & ! [V2f: A_27b > A_27a > A_27b,V3e: A_27b,V4x: A_27a,V5l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ V2f @ V3e @ ( c_2Elist_2ECONS @ A_27a @ V4x @ V5l ) )
          = ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ V2f @ ( V2f @ V3e @ V4x ) @ V5l ) ) ) ).

thf(thm_2Elist_2EEVERY__DEF,axiom,
    ! [A_27a: $tType] :
      ( ! [V0P: A_27a > $o] :
          ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ ( c_2Elist_2ENIL @ A_27a ) )
          = c_2Ebool_2ET )
      & ! [V1P: A_27a > $o,V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EEVERY @ A_27a @ V1P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) )
        <=> ( ( V1P @ V2h )
            & ( c_2Elist_2EEVERY @ A_27a @ V1P @ V3t ) ) ) ) ).

thf(thm_2Elist_2EEXISTS__DEF,axiom,
    ! [A_27a: $tType] :
      ( ! [V0P: A_27a > $o] :
          ( ( c_2Elist_2EEXISTS @ A_27a @ V0P @ ( c_2Elist_2ENIL @ A_27a ) )
          = c_2Ebool_2EF )
      & ! [V1P: A_27a > $o,V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EEXISTS @ A_27a @ V1P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) )
        <=> ( ( V1P @ V2h )
            | ( c_2Elist_2EEXISTS @ A_27a @ V1P @ V3t ) ) ) ) ).

thf(thm_2Elist_2EEL,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EEL @ A_27a @ c_2Enum_2E0 @ V0l )
          = ( c_2Elist_2EHD @ A_27a @ V0l ) )
      & ! [V1l: tyop_2Elist_2Elist @ A_27a,V2n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2EEL @ A_27a @ ( c_2Enum_2ESUC @ V2n ) @ V1l )
          = ( c_2Elist_2EEL @ A_27a @ V2n @ ( c_2Elist_2ETL @ A_27a @ V1l ) ) ) ) ).

thf(thm_2Elist_2EINDEX__FIND__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0i: tyop_2Enum_2Enum,V1P: A_27a > $o] :
          ( ( c_2Elist_2EINDEX__FIND @ A_27a @ V0i @ V1P @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Eoption_2ENONE @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) ) )
      & ! [V2i: tyop_2Enum_2Enum,V3P: A_27a > $o,V4h: A_27a,V5t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EINDEX__FIND @ A_27a @ V2i @ V3P @ ( c_2Elist_2ECONS @ A_27a @ V4h @ V5t ) )
          = ( c_2Ebool_2ECOND @ ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) ) @ ( V3P @ V4h ) @ ( c_2Eoption_2ESOME @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) @ ( c_2Epair_2E_2C @ tyop_2Enum_2Enum @ A_27a @ V2i @ V4h ) ) @ ( c_2Elist_2EINDEX__FIND @ A_27a @ ( c_2Enum_2ESUC @ V2i ) @ V3P @ V5t ) ) ) ) ).

thf(thm_2Elist_2EFIND__def,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o] :
      ( ( c_2Elist_2EFIND @ A_27a @ V0P )
      = ( c_2Ecombin_2Eo @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) ) @ ( c_2Eoption_2EOPTION__MAP @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) @ A_27a @ ( c_2Epair_2ESND @ tyop_2Enum_2Enum @ A_27a ) ) @ ( c_2Elist_2EINDEX__FIND @ A_27a @ c_2Enum_2E0 @ V0P ) ) ) ).

thf(thm_2Elist_2EINDEX__OF__def,axiom,
    ! [A_27a: $tType,V0x: A_27a] :
      ( ( c_2Elist_2EINDEX__OF @ A_27a @ V0x )
      = ( c_2Ecombin_2Eo @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Eoption_2Eoption @ tyop_2Enum_2Enum ) @ ( tyop_2Eoption_2Eoption @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) ) @ ( c_2Eoption_2EOPTION__MAP @ ( tyop_2Epair_2Eprod @ tyop_2Enum_2Enum @ A_27a ) @ tyop_2Enum_2Enum @ ( c_2Epair_2EFST @ tyop_2Enum_2Enum @ A_27a ) ) @ ( c_2Elist_2EINDEX__FIND @ A_27a @ c_2Enum_2E0 @ ( c_2Emin_2E_3D @ A_27a @ V0x ) ) ) ) ).

thf(thm_2Elist_2ELUPDATE__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0e: A_27a,V1n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2ELUPDATE @ A_27a @ V0e @ V1n @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V2e: A_27a,V3x: A_27a,V4l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELUPDATE @ A_27a @ V2e @ c_2Enum_2E0 @ ( c_2Elist_2ECONS @ A_27a @ V3x @ V4l ) )
          = ( c_2Elist_2ECONS @ A_27a @ V2e @ V4l ) )
      & ! [V5e: A_27a,V6n: tyop_2Enum_2Enum,V7x: A_27a,V8l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELUPDATE @ A_27a @ V5e @ ( c_2Enum_2ESUC @ V6n ) @ ( c_2Elist_2ECONS @ A_27a @ V7x @ V8l ) )
          = ( c_2Elist_2ECONS @ A_27a @ V7x @ ( c_2Elist_2ELUPDATE @ A_27a @ V5e @ V6n @ V8l ) ) ) ) ).

thf(thm_2Elist_2EEVERYi__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0P: tyop_2Enum_2Enum > A_27a > $o] :
          ( ( c_2Elist_2EEVERYi @ A_27a @ V0P @ ( c_2Elist_2ENIL @ A_27a ) )
          = c_2Ebool_2ET )
      & ! [V1P: tyop_2Enum_2Enum > A_27a > $o,V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EEVERYi @ A_27a @ V1P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) )
        <=> ( ( V1P @ c_2Enum_2E0 @ V2h )
            & ( c_2Elist_2EEVERYi @ A_27a @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ ( A_27a > $o ) @ tyop_2Enum_2Enum @ V1P @ c_2Enum_2ESUC ) @ V3t ) ) ) ) ).

thf(thm_2Elist_2EsplitAtPki__def,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0P: tyop_2Enum_2Enum > A_27b > $o,V1k: ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27b ) > A_27a] :
          ( ( c_2Elist_2EsplitAtPki @ A_27a @ A_27b @ V0P @ V1k @ ( c_2Elist_2ENIL @ A_27b ) )
          = ( V1k @ ( c_2Elist_2ENIL @ A_27b ) @ ( c_2Elist_2ENIL @ A_27b ) ) )
      & ! [V2P: tyop_2Enum_2Enum > A_27b > $o,V3k: ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27b ) > A_27a,V4h: A_27b,V5t: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2EsplitAtPki @ A_27a @ A_27b @ V2P @ V3k @ ( c_2Elist_2ECONS @ A_27b @ V4h @ V5t ) )
          = ( c_2Ebool_2ECOND @ A_27a @ ( V2P @ c_2Enum_2E0 @ V4h ) @ ( V3k @ ( c_2Elist_2ENIL @ A_27b ) @ ( c_2Elist_2ECONS @ A_27b @ V4h @ V5t ) )
            @ ( c_2Elist_2EsplitAtPki @ A_27a @ A_27b @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ ( A_27b > $o ) @ tyop_2Enum_2Enum @ V2P @ c_2Enum_2ESUC )
              @ ^ [V6p: tyop_2Elist_2Elist @ A_27b,V7s: tyop_2Elist_2Elist @ A_27b] : ( V3k @ ( c_2Elist_2ECONS @ A_27b @ V4h @ V6p ) @ V7s )
              @ V5t ) ) ) ) ).

thf(thm_2Elist_2ELIST__BIND__def,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27b,V1f: A_27b > ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ V0l @ V1f )
      = ( c_2Elist_2EFLAT @ A_27a @ ( c_2Elist_2EMAP @ A_27b @ ( tyop_2Elist_2Elist @ A_27a ) @ V1f @ V0l ) ) ) ).

thf(thm_2Elist_2ELIST__IGNORE__BIND__def,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0m1: tyop_2Elist_2Elist @ A_27b,V1m2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELIST__IGNORE__BIND @ A_27a @ A_27b @ V0m1 @ V1m2 )
      = ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ V0m1 @ ( c_2Ecombin_2EK @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27b @ V1m2 ) ) ) ).

thf(thm_2Elist_2ELIST__GUARD__def,axiom,
    ! [V0b: $o] :
      ( ( c_2Elist_2ELIST__GUARD @ V0b )
      = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ tyop_2Eone_2Eone ) @ V0b @ ( c_2Elist_2ECONS @ tyop_2Eone_2Eone @ c_2Eone_2Eone @ ( c_2Elist_2ENIL @ tyop_2Eone_2Eone ) ) @ ( c_2Elist_2ENIL @ tyop_2Eone_2Eone ) ) ) ).

thf(thm_2Elist_2ELIST__APPLY__def,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0fs: tyop_2Elist_2Elist @ ( A_27b > A_27a ),V1xs: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__APPLY @ A_27a @ A_27b @ V0fs @ V1xs )
      = ( c_2Elist_2ELIST__BIND @ A_27a @ ( A_27b > A_27a ) @ V0fs @ ( c_2Ecombin_2EC @ ( A_27b > A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2EMAP @ A_27b @ A_27a ) @ V1xs ) ) ) ).

thf(thm_2Elist_2ELIST__LIFT2__def,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27b > A_27c > A_27a,V1xs: tyop_2Elist_2Elist @ A_27b,V2ys: tyop_2Elist_2Elist @ A_27c] :
      ( ( c_2Elist_2ELIST__LIFT2 @ A_27a @ A_27b @ A_27c @ V0f @ V1xs @ V2ys )
      = ( c_2Elist_2ELIST__APPLY @ A_27a @ A_27c @ ( c_2Elist_2EMAP @ A_27b @ ( A_27c > A_27a ) @ V0f @ V1xs ) @ V2ys ) ) ).

thf(thm_2Elist_2ESHORTLEX__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0R: A_27a > A_27a > $o,V1l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ESHORTLEX @ A_27a @ V0R @ ( c_2Elist_2ENIL @ A_27a ) @ V1l2 )
        <=> ( (~)
            @ ( V1l2
              = ( c_2Elist_2ENIL @ A_27a ) ) ) )
      & ! [V2R: A_27a > A_27a > $o,V3h1: A_27a,V4t1: tyop_2Elist_2Elist @ A_27a,V5l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ESHORTLEX @ A_27a @ V2R @ ( c_2Elist_2ECONS @ A_27a @ V3h1 @ V4t1 ) @ V5l2 )
          = ( c_2Elist_2Elist__CASE @ A_27a @ $o @ V5l2 @ c_2Ebool_2EF
            @ ^ [V6h2: A_27a,V7t2: tyop_2Elist_2Elist @ A_27a] : ( c_2Ebool_2ECOND @ $o @ ( c_2Eprim__rec_2E_3C @ ( c_2Elist_2ELENGTH @ A_27a @ V4t1 ) @ ( c_2Elist_2ELENGTH @ A_27a @ V7t2 ) ) @ c_2Ebool_2ET @ ( c_2Ebool_2ECOND @ $o @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ ( c_2Elist_2ELENGTH @ A_27a @ V4t1 ) @ ( c_2Elist_2ELENGTH @ A_27a @ V7t2 ) ) @ ( c_2Ebool_2ECOND @ $o @ ( V2R @ V3h1 @ V6h2 ) @ c_2Ebool_2ET @ ( c_2Ebool_2ECOND @ $o @ ( c_2Emin_2E_3D @ A_27a @ V3h1 @ V6h2 ) @ ( c_2Elist_2ESHORTLEX @ A_27a @ V2R @ V4t1 @ V7t2 ) @ c_2Ebool_2EF ) ) @ c_2Ebool_2EF ) ) ) ) ) ).

thf(thm_2Elist_2ELLEX__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0R: A_27a > A_27a > $o,V1l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELLEX @ A_27a @ V0R @ ( c_2Elist_2ENIL @ A_27a ) @ V1l2 )
        <=> ( (~)
            @ ( V1l2
              = ( c_2Elist_2ENIL @ A_27a ) ) ) )
      & ! [V2R: A_27a > A_27a > $o,V3h1: A_27a,V4t1: tyop_2Elist_2Elist @ A_27a,V5l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELLEX @ A_27a @ V2R @ ( c_2Elist_2ECONS @ A_27a @ V3h1 @ V4t1 ) @ V5l2 )
          = ( c_2Elist_2Elist__CASE @ A_27a @ $o @ V5l2 @ c_2Ebool_2EF
            @ ^ [V6h2: A_27a,V7t2: tyop_2Elist_2Elist @ A_27a] : ( c_2Ebool_2ECOND @ $o @ ( V2R @ V3h1 @ V6h2 ) @ c_2Ebool_2ET @ ( c_2Ebool_2ECOND @ $o @ ( c_2Emin_2E_3D @ A_27a @ V3h1 @ V6h2 ) @ ( c_2Elist_2ELLEX @ A_27a @ V2R @ V4t1 @ V7t2 ) @ c_2Ebool_2EF ) ) ) ) ) ).

thf(thm_2Elist_2Enub__def,axiom,
    ! [A_27a: $tType] :
      ( ( ( c_2Elist_2Enub @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2Enub @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ V1l ) )
          = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) ) @ ( c_2Elist_2Enub @ A_27a @ V1l ) @ ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2Enub @ A_27a @ V1l ) ) ) ) ) ).

thf(thm_2Elist_2EdropWhile__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0P: A_27a > $o] :
          ( ( c_2Elist_2EdropWhile @ A_27a @ V0P @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V1P: A_27a > $o,V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EdropWhile @ A_27a @ V1P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) )
          = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( V1P @ V2h ) @ ( c_2Elist_2EdropWhile @ A_27a @ V1P @ V3t ) @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) ) ) ) ).

thf(thm_2Elist_2EUNIQUE__DEF,axiom,
    ! [A_27a: $tType,V0e: A_27a,V1L: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EUNIQUE @ A_27a @ V0e @ V1L )
    <=> ? [V2L1: tyop_2Elist_2Elist @ A_27a,V3L2: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V2L1 @ ( c_2Elist_2ECONS @ A_27a @ V0e @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V3L2 )
            = V1L )
          & ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V0e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2L1 ) ) )
          & ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V0e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V3L2 ) ) ) ) ) ).

thf(thm_2Elist_2EOPT__MMAP__def,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0f: A_27b > ( tyop_2Eoption_2Eoption @ A_27a )] :
          ( ( c_2Elist_2EOPT__MMAP @ A_27a @ A_27b @ V0f @ ( c_2Elist_2ENIL @ A_27b ) )
          = ( c_2Eoption_2ESOME @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V1f: A_27b > ( tyop_2Eoption_2Eoption @ A_27a ),V2h0: A_27b,V3t0: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2EOPT__MMAP @ A_27a @ A_27b @ V1f @ ( c_2Elist_2ECONS @ A_27b @ V2h0 @ V3t0 ) )
          = ( c_2Eoption_2EOPTION__BIND @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ ( V1f @ V2h0 )
            @ ^ [V4h: A_27a] :
                ( c_2Eoption_2EOPTION__BIND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2EOPT__MMAP @ A_27a @ A_27b @ V1f @ V3t0 )
                @ ^ [V5t: tyop_2Elist_2Elist @ A_27a] : ( c_2Eoption_2ESOME @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a @ V4h @ V5t ) ) ) ) ) ) ).

thf(thm_2Elist_2EoHD__def,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EoHD @ A_27a @ V0l )
      = ( c_2Elist_2Elist__CASE @ A_27a @ ( tyop_2Eoption_2Eoption @ A_27a ) @ V0l @ ( c_2Eoption_2ENONE @ A_27a )
        @ ^ [V1h: A_27a,V2v1: tyop_2Elist_2Elist @ A_27a] : ( c_2Eoption_2ESOME @ A_27a @ V1h ) ) ) ).

thf(thm_2Elist_2EoEL__def,axiom,
    ! [A_27a: $tType] :
      ( ! [V0n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2EoEL @ A_27a @ V0n @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Eoption_2ENONE @ A_27a ) )
      & ! [V1n: tyop_2Enum_2Enum,V2x: A_27a,V3xs: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EoEL @ A_27a @ V1n @ ( c_2Elist_2ECONS @ A_27a @ V2x @ V3xs ) )
          = ( c_2Ebool_2ECOND @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1n @ c_2Enum_2E0 ) @ ( c_2Eoption_2ESOME @ A_27a @ V2x ) @ ( c_2Elist_2EoEL @ A_27a @ ( c_2Earithmetic_2E_2D @ V1n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V3xs ) ) ) ) ).

thf(thm_2Elist_2EEXISTS__LIST,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ? [V1l: tyop_2Elist_2Elist @ A_27a] : ( V0P @ V1l )
    <=> ( ( V0P @ ( c_2Elist_2ENIL @ A_27a ) )
        | ? [V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] : ( V0P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) ) ) ) ).

thf(thm_2Elist_2ESUM__SUM__ACC,axiom,
    ! [V0L: tyop_2Elist_2Elist @ tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ESUM @ V0L )
      = ( c_2Elist_2ESUM__ACC @ V0L @ c_2Enum_2E0 ) ) ).

thf(thm_2Elist_2ESUM__ACC__SUM__LEM,axiom,
    ! [V0L: tyop_2Elist_2Elist @ tyop_2Enum_2Enum,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ESUM__ACC @ V0L @ V1n )
      = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ESUM @ V0L ) @ V1n ) ) ).

thf(thm_2Elist_2EREVERSE__REV,axiom,
    ! [A_27a: $tType,V0L: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EREVERSE @ A_27a @ V0L )
      = ( c_2Elist_2EREV @ A_27a @ V0L @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ELENGTH__LEN,axiom,
    ! [A_27a: $tType,V0L: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ V0L )
      = ( c_2Elist_2ELEN @ A_27a @ V0L @ c_2Enum_2E0 ) ) ).

thf(thm_2Elist_2EREV__REVERSE__LEM,axiom,
    ! [A_27a: $tType,V0L1: tyop_2Elist_2Elist @ A_27a,V1L2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EREV @ A_27a @ V0L1 @ V1L2 )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0L1 ) @ V1L2 ) ) ).

thf(thm_2Elist_2ELEN__LENGTH__LEM,axiom,
    ! [A_27a: $tType,V0L: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ELEN @ A_27a @ V0L @ V1n )
      = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ELENGTH @ A_27a @ V0L ) @ V1n ) ) ).

thf(thm_2Elist_2EINFINITE__LIST__UNIV,axiom,
    ! [A_27a: $tType] : ( (~) @ ( c_2Epred__set_2EFINITE @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Epred__set_2EUNIV @ ( tyop_2Elist_2Elist @ A_27a ) ) ) ) ).

thf(thm_2Elist_2EMAP__ZIP__SAME,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1f: ( tyop_2Epair_2Eprod @ A_27a @ A_27a ) > A_27b] :
      ( ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27a ) @ A_27b @ V1f @ ( c_2Elist_2EZIP @ A_27a @ A_27a @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27a ) @ V0ls @ V0ls ) ) )
      = ( c_2Elist_2EMAP @ A_27a @ A_27b
        @ ^ [V2x: A_27a] : ( V1f @ ( c_2Epair_2E_2C @ A_27a @ A_27a @ V2x @ V2x ) )
        @ V0ls ) ) ).

thf(thm_2Elist_2EFOLDL__ZIP__SAME,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1f: A_27b > ( tyop_2Epair_2Eprod @ A_27a @ A_27a ) > A_27b,V2e: A_27b] :
      ( ( c_2Elist_2EFOLDL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27a ) @ A_27b @ V1f @ V2e @ ( c_2Elist_2EZIP @ A_27a @ A_27a @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27a ) @ V0ls @ V0ls ) ) )
      = ( c_2Elist_2EFOLDL @ A_27a @ A_27b
        @ ^ [V3x: A_27b,V4y: A_27a] : ( V1f @ V3x @ ( c_2Epair_2E_2C @ A_27a @ A_27a @ V4y @ V4y ) )
        @ V2e
        @ V0ls ) ) ).

thf(thm_2Elist_2EFOLDL__UNION__BIGUNION__paired,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27a > A_27b > A_27c > $o,V1ls: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ),V2s: A_27c > $o] :
      ( ( c_2Elist_2EFOLDL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( A_27c > $o )
        @ ^ [V3s: A_27c > $o] :
            ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ ( A_27c > $o )
            @ ^ [V4x: A_27a,V5y: A_27b] : ( c_2Epred__set_2EUNION @ A_27c @ V3s @ ( V0f @ V4x @ V5y ) ) )
        @ V2s
        @ V1ls )
      = ( c_2Epred__set_2EUNION @ A_27c @ V2s @ ( c_2Epred__set_2EBIGUNION @ A_27c @ ( c_2Epred__set_2EIMAGE @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( A_27c > $o ) @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ ( A_27c > $o ) @ V0f ) @ ( c_2Elist_2ELIST__TO__SET @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V1ls ) ) ) ) ) ).

thf(thm_2Elist_2EFOLDL__UNION__BIGUNION,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b > $o,V1ls: tyop_2Elist_2Elist @ A_27a,V2s: A_27b > $o] :
      ( ( c_2Elist_2EFOLDL @ A_27a @ ( A_27b > $o )
        @ ^ [V3s: A_27b > $o,V4x: A_27a] : ( c_2Epred__set_2EUNION @ A_27b @ V3s @ ( V0f @ V4x ) )
        @ V2s
        @ V1ls )
      = ( c_2Epred__set_2EUNION @ A_27b @ V2s @ ( c_2Epred__set_2EBIGUNION @ A_27b @ ( c_2Epred__set_2EIMAGE @ A_27a @ ( A_27b > $o ) @ V0f @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1ls ) ) ) ) ) ).

thf(thm_2Elist_2EREVERSE__GENLIST,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V1f @ V0n ) )
      = ( c_2Elist_2EGENLIST @ A_27a
        @ ^ [V2m: tyop_2Enum_2Enum] : ( V1f @ ( c_2Earithmetic_2E_2D @ ( c_2Eprim__rec_2EPRE @ V0n ) @ V2m ) )
        @ V0n ) ) ).

thf(thm_2Elist_2EEL__REVERSE,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) )
     => ( ( c_2Elist_2EEL @ A_27a @ V0n @ ( c_2Elist_2EREVERSE @ A_27a @ V1l ) )
        = ( c_2Elist_2EEL @ A_27a @ ( c_2Eprim__rec_2EPRE @ ( c_2Earithmetic_2E_2D @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) @ V0n ) ) @ V1l ) ) ) ).

thf(thm_2Elist_2ESUM__IMAGE__eq__SUM__MAP__SET__TO__LIST,axiom,
    ! [A_27a: $tType,V0s: A_27a > $o,V1f: A_27a > tyop_2Enum_2Enum] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ( ( c_2Epred__set_2ESUM__IMAGE @ A_27a @ V1f @ V0s )
        = ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum @ V1f @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s ) ) ) ) ) ).

thf(thm_2Elist_2ESUM__MAP__FOLDL,axiom,
    ! [A_27a: $tType,V0f: A_27a > tyop_2Enum_2Enum,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum @ V0f @ V1ls ) )
      = ( c_2Elist_2EFOLDL @ A_27a @ tyop_2Enum_2Enum
        @ ^ [V2a: tyop_2Enum_2Enum,V3e: A_27a] : ( c_2Earithmetic_2E_2B @ V2a @ ( V0f @ V3e ) )
        @ c_2Enum_2E0
        @ V1ls ) ) ).

thf(thm_2Elist_2ESUM__APPEND,axiom,
    ! [V0l1: tyop_2Elist_2Elist @ tyop_2Enum_2Enum,V1l2: tyop_2Elist_2Elist @ tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ESUM @ ( c_2Elist_2EAPPEND @ tyop_2Enum_2Enum @ V0l1 @ V1l2 ) )
      = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ESUM @ V0l1 ) @ ( c_2Elist_2ESUM @ V1l2 ) ) ) ).

thf(thm_2Elist_2ESUM__SNOC,axiom,
    ! [V0x: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ESUM @ ( c_2Elist_2ESNOC @ tyop_2Enum_2Enum @ V0x @ V1l ) )
      = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ESUM @ V1l ) @ V0x ) ) ).

thf(thm_2Elist_2EFOLDL__SNOC,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27b > A_27a > A_27b,V1e: A_27b,V2x: A_27a,V3l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ V0f @ V1e @ ( c_2Elist_2ESNOC @ A_27a @ V2x @ V3l ) )
      = ( V0f @ ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ V0f @ V1e @ V3l ) @ V2x ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__GENLIST,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V1f @ V0n ) )
    <=> ! [V2m1: tyop_2Enum_2Enum,V3m2: tyop_2Enum_2Enum] :
          ( ( ( c_2Eprim__rec_2E_3C @ V2m1 @ V0n )
            & ( c_2Eprim__rec_2E_3C @ V3m2 @ V0n )
            & ( ( V1f @ V2m1 )
              = ( V1f @ V3m2 ) ) )
         => ( V2m1 = V3m2 ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__SNOC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1l ) )
    <=> ( ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) ) )
        & ( c_2Elist_2EALL__DISTINCT @ A_27a @ V1l ) ) ) ).

thf(thm_2Elist_2EMEM__GENLIST,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1n: tyop_2Enum_2Enum,V2f: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V2f @ V1n ) ) )
    <=> ? [V3m: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2E_3C @ V3m @ V1n )
          & ( V0x
            = ( V2f @ V3m ) ) ) ) ).

thf(thm_2Elist_2EGENLIST__NUMERALS,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a] :
      ( ( ( c_2Elist_2EGENLIST @ A_27a @ V1f @ c_2Enum_2E0 )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ( ( c_2Elist_2EGENLIST @ A_27a @ V1f @ ( c_2Earithmetic_2ENUMERAL @ V0n ) )
        = ( c_2Elist_2EGENLIST__AUX @ A_27a @ V1f @ ( c_2Earithmetic_2ENUMERAL @ V0n ) @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2EGENLIST__GENLIST__AUX,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EGENLIST @ A_27a @ V0f @ V1n )
      = ( c_2Elist_2EGENLIST__AUX @ A_27a @ V0f @ V1n @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ENULL__GENLIST,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Elist_2ENULL @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V1f @ V0n ) )
    <=> ( V0n = c_2Enum_2E0 ) ) ).

thf(thm_2Elist_2EGENLIST__CONS,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Elist_2EGENLIST @ A_27a @ V1f @ ( c_2Enum_2ESUC @ V0n ) )
      = ( c_2Elist_2ECONS @ A_27a @ ( V1f @ c_2Enum_2E0 ) @ ( c_2Elist_2EGENLIST @ A_27a @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ A_27a @ tyop_2Enum_2Enum @ V1f @ c_2Enum_2ESUC ) @ V0n ) ) ) ).

thf(thm_2Elist_2EZIP__GENLIST,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1f: tyop_2Enum_2Enum > A_27b,V2n: tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l )
        = V2n )
     => ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l @ ( c_2Elist_2EGENLIST @ A_27b @ V1f @ V2n ) ) )
        = ( c_2Elist_2EGENLIST @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )
          @ ^ [V3x: tyop_2Enum_2Enum] : ( c_2Epair_2E_2C @ A_27a @ A_27b @ ( c_2Elist_2EEL @ A_27a @ V3x @ V0l ) @ ( V1f @ V3x ) )
          @ V2n ) ) ) ).

thf(thm_2Elist_2ETL__GENLIST,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ETL @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V0f @ ( c_2Enum_2ESUC @ V1n ) ) )
      = ( c_2Elist_2EGENLIST @ A_27a @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ A_27a @ tyop_2Enum_2Enum @ V0f @ c_2Enum_2ESUC ) @ V1n ) ) ).

thf(thm_2Elist_2EEXISTS__GENLIST,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1P: A_27a > $o,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EEXISTS @ A_27a @ V1P @ ( c_2Elist_2EGENLIST @ A_27a @ V0f @ V2n ) )
    <=> ? [V3i: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2E_3C @ V3i @ V2n )
          & ( V1P @ ( V0f @ V3i ) ) ) ) ).

thf(thm_2Elist_2EEVERY__GENLIST,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1P: A_27a > $o,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V1P @ ( c_2Elist_2EGENLIST @ A_27a @ V0f @ V2n ) )
    <=> ! [V3i: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2E_3C @ V3i @ V2n )
         => ( V1P @ ( V0f @ V3i ) ) ) ) ).

thf(thm_2Elist_2EGENLIST__APPEND,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1a: tyop_2Enum_2Enum,V2b: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EGENLIST @ A_27a @ V0f @ ( c_2Earithmetic_2E_2B @ V1a @ V2b ) )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V0f @ V2b )
        @ ( c_2Elist_2EGENLIST @ A_27a
          @ ^ [V3t: tyop_2Enum_2Enum] : ( V0f @ ( c_2Earithmetic_2E_2B @ V3t @ V2b ) )
          @ V1a ) ) ) ).

thf(thm_2Elist_2EGENLIST__FUN__EQ,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a,V2g: tyop_2Enum_2Enum > A_27a] :
      ( ( ( c_2Elist_2EGENLIST @ A_27a @ V1f @ V0n )
        = ( c_2Elist_2EGENLIST @ A_27a @ V2g @ V0n ) )
    <=> ! [V3x: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2E_3C @ V3x @ V0n )
         => ( ( V1f @ V3x )
            = ( V2g @ V3x ) ) ) ) ).

thf(thm_2Elist_2EHD__GENLIST__COR,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ V0n )
     => ( ( c_2Elist_2EHD @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V1f @ V0n ) )
        = ( V1f @ c_2Enum_2E0 ) ) ) ).

thf(thm_2Elist_2EHD__GENLIST,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1f: tyop_2Enum_2Enum > A_27a] :
      ( ( c_2Elist_2EHD @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V1f @ ( c_2Enum_2ESUC @ V0n ) ) )
      = ( V1f @ c_2Enum_2E0 ) ) ).

thf(thm_2Elist_2EEL__GENLIST,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1n: tyop_2Enum_2Enum,V2x: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V2x @ V1n )
     => ( ( c_2Elist_2EEL @ A_27a @ V2x @ ( c_2Elist_2EGENLIST @ A_27a @ V0f @ V1n ) )
        = ( V0f @ V2x ) ) ) ).

thf(thm_2Elist_2EMAP__GENLIST,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1g: tyop_2Enum_2Enum > A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ ( c_2Elist_2EGENLIST @ A_27a @ V1g @ V2n ) )
      = ( c_2Elist_2EGENLIST @ A_27b @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ A_27b @ A_27a @ V0f @ V1g ) @ V2n ) ) ).

thf(thm_2Elist_2EGENLIST__AUX__compute,axiom,
    ! [A_27a: $tType] :
      ( ! [V0f: tyop_2Enum_2Enum > A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EGENLIST__AUX @ A_27a @ V0f @ c_2Enum_2E0 @ V1l )
          = V1l )
      & ! [V2f: tyop_2Enum_2Enum > A_27a,V3n: tyop_2Enum_2Enum,V4l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EGENLIST__AUX @ A_27a @ V2f @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ V4l )
          = ( c_2Elist_2EGENLIST__AUX @ A_27a @ V2f @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ ( c_2Elist_2ECONS @ A_27a @ ( V2f @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) @ V4l ) ) )
      & ! [V5f: tyop_2Enum_2Enum > A_27a,V6n: tyop_2Enum_2Enum,V7l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EGENLIST__AUX @ A_27a @ V5f @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V6n ) ) @ V7l )
          = ( c_2Elist_2EGENLIST__AUX @ A_27a @ V5f @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) @ ( c_2Elist_2ECONS @ A_27a @ ( V5f @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) ) @ V7l ) ) ) ) ).

thf(thm_2Elist_2ELENGTH__GENLIST,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V0f @ V1n ) )
      = V1n ) ).

thf(thm_2Elist_2ESNOC__CASES,axiom,
    ! [A_27a: $tType,V0ll: tyop_2Elist_2Elist @ A_27a] :
      ( ( V0ll
        = ( c_2Elist_2ENIL @ A_27a ) )
      | ? [V1x: A_27a,V2l: tyop_2Elist_2Elist @ A_27a] :
          ( V0ll
          = ( c_2Elist_2ESNOC @ A_27a @ V1x @ V2l ) ) ) ).

thf(thm_2Elist_2ESNOC__INDUCT,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ( ( V0P @ ( c_2Elist_2ENIL @ A_27a ) )
        & ! [V1l: tyop_2Elist_2Elist @ A_27a] :
            ( ( V0P @ V1l )
           => ! [V2x: A_27a] : ( V0P @ ( c_2Elist_2ESNOC @ A_27a @ V2x @ V1l ) ) ) )
     => ! [V3l: tyop_2Elist_2Elist @ A_27a] : ( V0P @ V3l ) ) ).

thf(thm_2Elist_2ESNOC__Axiom,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0e: A_27b,V1f: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b > A_27b] :
    ? [V2fn: ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
      ( ( ( V2fn @ ( c_2Elist_2ENIL @ A_27a ) )
        = V0e )
      & ! [V3x: A_27a,V4l: tyop_2Elist_2Elist @ A_27a] :
          ( ( V2fn @ ( c_2Elist_2ESNOC @ A_27a @ V3x @ V4l ) )
          = ( V1f @ V3x @ V4l @ ( V2fn @ V4l ) ) ) ) ).

thf(thm_2Elist_2EREVERSE__SNOC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1l ) )
      = ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2EREVERSE @ A_27a @ V1l ) ) ) ).

thf(thm_2Elist_2EREVERSE__SNOC__DEF,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ( ( c_2Elist_2EREVERSE @ A_27b @ ( c_2Elist_2ENIL @ A_27b ) )
        = ( c_2Elist_2ENIL @ A_27b ) )
      & ! [V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ V1l ) )
          = ( c_2Elist_2ESNOC @ A_27a @ V0x @ ( c_2Elist_2EREVERSE @ A_27a @ V1l ) ) ) ) ).

thf(thm_2Elist_2ESNOC__11,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1y: tyop_2Elist_2Elist @ A_27a,V2a: A_27a,V3b: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1y )
        = ( c_2Elist_2ESNOC @ A_27a @ V2a @ V3b ) )
    <=> ( ( V0x = V2a )
        & ( V1y = V3b ) ) ) ).

thf(thm_2Elist_2EMEM__SNOC,axiom,
    ! [A_27a: $tType,V0y: A_27a,V1x: A_27a,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V0y @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ESNOC @ A_27a @ V1x @ V2l ) ) )
    <=> ( ( V0y = V1x )
        | ( c_2Ebool_2EIN @ A_27a @ V0y @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2l ) ) ) ) ).

thf(thm_2Elist_2EEXISTS__SNOC,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1x: A_27a,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27a @ V0P @ ( c_2Elist_2ESNOC @ A_27a @ V1x @ V2l ) )
    <=> ( ( V0P @ V1x )
        | ( c_2Elist_2EEXISTS @ A_27a @ V0P @ V2l ) ) ) ).

thf(thm_2Elist_2EEVERY__SNOC,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1x: A_27a,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ ( c_2Elist_2ESNOC @ A_27a @ V1x @ V2l ) )
    <=> ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ V2l )
        & ( V0P @ V1x ) ) ) ).

thf(thm_2Elist_2EAPPEND__SNOC,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ ( c_2Elist_2ESNOC @ A_27a @ V1x @ V2l2 ) )
      = ( c_2Elist_2ESNOC @ A_27a @ V1x @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V2l2 ) ) ) ).

thf(thm_2Elist_2EEL__LENGTH__SNOC,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1x: A_27a] :
      ( ( c_2Elist_2EEL @ A_27a @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) @ ( c_2Elist_2ESNOC @ A_27a @ V1x @ V0l ) )
      = V1x ) ).

thf(thm_2Elist_2EEL__SNOC,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) )
     => ! [V2x: A_27a] :
          ( ( c_2Elist_2EEL @ A_27a @ V0n @ ( c_2Elist_2ESNOC @ A_27a @ V2x @ V1l ) )
          = ( c_2Elist_2EEL @ A_27a @ V0n @ V1l ) ) ) ).

thf(thm_2Elist_2EMAP__SNOC,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1x: A_27a,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ ( c_2Elist_2ESNOC @ A_27a @ V1x @ V2l ) )
      = ( c_2Elist_2ESNOC @ A_27b @ ( V0f @ V1x ) @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V2l ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__SNOC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1ls ) )
      = ( c_2Epred__set_2EINSERT @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1ls ) ) ) ).

thf(thm_2Elist_2ESNOC__APPEND,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1l )
      = ( c_2Elist_2EAPPEND @ A_27a @ V1l @ ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2EFRONT__SNOC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1l ) )
      = V1l ) ).

thf(thm_2Elist_2ELAST__SNOC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1l ) )
      = V0x ) ).

thf(thm_2Elist_2ELENGTH__SNOC,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ESNOC @ A_27a @ V0x @ V1l ) )
      = ( c_2Enum_2ESUC @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) ) ) ).

thf(thm_2Elist_2EisPREFIX__CONSR,axiom,
    ! [A_27a: $tType,V0ys: tyop_2Elist_2Elist @ A_27a,V1y: A_27a,V2x: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EisPREFIX @ A_27a @ V2x @ ( c_2Elist_2ECONS @ A_27a @ V1y @ V0ys ) )
    <=> ( ( V2x
          = ( c_2Elist_2ENIL @ A_27a ) )
        | ? [V3xs: tyop_2Elist_2Elist @ A_27a] :
            ( ( V2x
              = ( c_2Elist_2ECONS @ A_27a @ V1y @ V3xs ) )
            & ( c_2Elist_2EisPREFIX @ A_27a @ V3xs @ V0ys ) ) ) ) ).

thf(thm_2Elist_2EisPREFIX__NILR,axiom,
    ! [A_27a: $tType,V0x: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EisPREFIX @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) )
    <=> ( V0x
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2EisPREFIX__THM,axiom,
    ! [A_27a: $tType,V0t2: tyop_2Elist_2Elist @ A_27a,V1t1: tyop_2Elist_2Elist @ A_27a,V2t: tyop_2Elist_2Elist @ A_27a,V3l: tyop_2Elist_2Elist @ A_27a,V4h2: A_27a,V5h1: A_27a,V6h: A_27a] :
      ( ( ( c_2Elist_2EisPREFIX @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) @ V3l )
        = c_2Ebool_2ET )
      & ( ( c_2Elist_2EisPREFIX @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V6h @ V2t ) @ ( c_2Elist_2ENIL @ A_27a ) )
        = c_2Ebool_2EF )
      & ( ( c_2Elist_2EisPREFIX @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V5h1 @ V1t1 ) @ ( c_2Elist_2ECONS @ A_27a @ V4h2 @ V0t2 ) )
      <=> ( ( V5h1 = V4h2 )
          & ( c_2Elist_2EisPREFIX @ A_27a @ V1t1 @ V0t2 ) ) ) ) ).

thf(thm_2Elist_2EITSET__eq__FOLDL__SET__TO__LIST,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0s: A_27a > $o] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ! [V1f: A_27a > A_27b > A_27b,V2a: A_27b] :
          ( ( c_2Epred__set_2EITSET @ A_27a @ A_27b @ V1f @ V0s @ V2a )
          = ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ ( c_2Ecombin_2EC @ A_27a @ A_27b @ A_27b @ V1f ) @ V2a @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__SET__TO__LIST,axiom,
    ! [A_27a: $tType,V0s: A_27a > $o] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s ) ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__SING,axiom,
    ! [A_27a: $tType,V0x: A_27a] :
      ( ( c_2Elist_2ESET__TO__LIST @ A_27a @ ( c_2Epred__set_2EINSERT @ A_27a @ V0x @ ( c_2Epred__set_2EEMPTY @ A_27a ) ) )
      = ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2EMEM__SET__TO__LIST,axiom,
    ! [A_27a: $tType,V0s: A_27a > $o] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ! [V1x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s ) ) )
          = ( c_2Ebool_2EIN @ A_27a @ V1x @ V0s ) ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__IN__MEM,axiom,
    ! [A_27a: $tType,V0s: A_27a > $o] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ! [V1x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V1x @ V0s )
          = ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s ) ) ) ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__CARD,axiom,
    ! [A_27a: $tType,V0s: A_27a > $o] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s ) )
        = ( c_2Epred__set_2ECARD @ A_27a @ V0s ) ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__INV,axiom,
    ! [A_27a: $tType,V0s: A_27a > $o] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s ) )
        = V0s ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__EMPTY,axiom,
    ! [A_27a: $tType] :
      ( ( c_2Elist_2ESET__TO__LIST @ A_27a @ ( c_2Epred__set_2EEMPTY @ A_27a ) )
      = ( c_2Elist_2ENIL @ A_27a ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__IND,axiom,
    ! [A_27a: $tType,V0P: ( A_27a > $o ) > $o] :
      ( ! [V1s: A_27a > $o] :
          ( ( ( ( c_2Epred__set_2EFINITE @ A_27a @ V1s )
              & ( (~)
                @ ( V1s
                  = ( c_2Epred__set_2EEMPTY @ A_27a ) ) ) )
           => ( V0P @ ( c_2Epred__set_2EREST @ A_27a @ V1s ) ) )
         => ( V0P @ V1s ) )
     => ! [V2v: A_27a > $o] : ( V0P @ V2v ) ) ).

thf(thm_2Elist_2ESET__TO__LIST__THM,axiom,
    ! [A_27a: $tType,V0s: A_27a > $o] :
      ( ( c_2Epred__set_2EFINITE @ A_27a @ V0s )
     => ( ( c_2Elist_2ESET__TO__LIST @ A_27a @ V0s )
        = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Emin_2E_3D @ ( A_27a > $o ) @ V0s @ ( c_2Epred__set_2EEMPTY @ A_27a ) ) @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a @ ( c_2Epred__set_2ECHOICE @ A_27a @ V0s ) @ ( c_2Elist_2ESET__TO__LIST @ A_27a @ ( c_2Epred__set_2EREST @ A_27a @ V0s ) ) ) ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__FILTER,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1P: A_27a > $o] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V1P @ V0l ) )
      = ( c_2Epred__set_2EINTER @ A_27a
        @ ( c_2Epred__set_2EGSPEC @ A_27a @ A_27a
          @ ^ [V2x: A_27a] : ( c_2Epair_2E_2C @ A_27a @ $o @ V2x @ ( V1P @ V2x ) ) )
        @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V1l ) )
      = ( c_2Epred__set_2EIMAGE @ A_27a @ A_27b @ V0f @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__THM,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0t: tyop_2Elist_2Elist @ A_27b,V1h: A_27b] :
      ( ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = ( c_2Epred__set_2EEMPTY @ A_27a ) )
      & ( ( c_2Elist_2ELIST__TO__SET @ A_27b @ ( c_2Elist_2ECONS @ A_27b @ V1h @ V0t ) )
        = ( c_2Epred__set_2EINSERT @ A_27b @ V1h @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ V0t ) ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__REVERSE,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0ls ) )
      = ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0ls ) ) ).

thf(thm_2Elist_2ECARD__LIST__TO__SET__ALL__DISTINCT,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Epred__set_2ECARD @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0ls ) )
        = ( c_2Elist_2ELENGTH @ A_27a @ V0ls ) )
     => ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0ls ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__CARD__LIST__TO__SET,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0ls )
     => ( ( c_2Epred__set_2ECARD @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0ls ) )
        = ( c_2Elist_2ELENGTH @ A_27a @ V0ls ) ) ) ).

thf(thm_2Elist_2ECARD__LIST__TO__SET,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a] : ( c_2Earithmetic_2E_3C_3D @ ( c_2Epred__set_2ECARD @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0ls ) ) @ ( c_2Elist_2ELENGTH @ A_27a @ V0ls ) ) ).

thf(thm_2Elist_2EINJ__MAP__EQ__IFF,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Epred__set_2EINJ @ A_27a @ A_27b @ V0f @ ( c_2Epred__set_2EUNION @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l1 ) @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2l2 ) ) @ ( c_2Epred__set_2EUNIV @ A_27b ) )
     => ( ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V1l1 )
          = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V2l2 ) )
      <=> ( V1l1 = V2l2 ) ) ) ).

thf(thm_2Elist_2EINJ__MAP__EQ,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Epred__set_2EINJ @ A_27a @ A_27b @ V0f @ ( c_2Epred__set_2EUNION @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l1 ) @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2l2 ) ) @ ( c_2Epred__set_2EUNIV @ A_27b ) )
        & ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V1l1 )
          = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V2l2 ) ) )
     => ( V1l1 = V2l2 ) ) ).

thf(thm_2Elist_2ESUM__MAP__MEM__bound,axiom,
    ! [A_27a: $tType,V0f: A_27a > tyop_2Enum_2Enum,V1x: A_27a,V2ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2ls ) )
     => ( c_2Earithmetic_2E_3C_3D @ ( V0f @ V1x ) @ ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum @ V0f @ V2ls ) ) ) ) ).

thf(thm_2Elist_2ESUM__IMAGE__LIST__TO__SET__upper__bound,axiom,
    ! [A_27a: $tType,V0f: A_27a > tyop_2Enum_2Enum,V1ls: tyop_2Elist_2Elist @ A_27a] : ( c_2Earithmetic_2E_3C_3D @ ( c_2Epred__set_2ESUM__IMAGE @ A_27a @ V0f @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1ls ) ) @ ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum @ V0f @ V1ls ) ) ) ).

thf(thm_2Elist_2EFINITE__LIST__TO__SET,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] : ( c_2Epred__set_2EFINITE @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__EQ__EMPTY,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l )
          = ( c_2Epred__set_2EEMPTY @ A_27a ) )
      <=> ( V0l
          = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ( ( ( c_2Epred__set_2EEMPTY @ A_27a )
          = ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) )
      <=> ( V0l
          = ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2EUNION__APPEND,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Epred__set_2EUNION @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l1 ) @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) )
      = ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__APPEND,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
      = ( c_2Epred__set_2EUNION @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l1 ) @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) ) ) ).

thf(thm_2Elist_2ELRC__MEM__right,axiom,
    ! [A_27a: $tType,V0y: A_27a,V1x: A_27a,V2t: tyop_2Elist_2Elist @ A_27a,V3h: A_27a,V4e: A_27a,V5R: A_27a > A_27a > $o] :
      ( ( ( c_2Elist_2ELRC @ A_27a @ V5R @ ( c_2Elist_2ECONS @ A_27a @ V3h @ V2t ) @ V1x @ V0y )
        & ( c_2Ebool_2EIN @ A_27a @ V4e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2t ) ) )
     => ? [V6z: A_27a,V7p: tyop_2Elist_2Elist @ A_27a] :
          ( ( V5R @ V6z @ V4e )
          & ( c_2Elist_2ELRC @ A_27a @ V5R @ V7p @ V1x @ V6z ) ) ) ).

thf(thm_2Elist_2ELRC__MEM,axiom,
    ! [A_27a: $tType,V0y: A_27a,V1x: A_27a,V2ls: tyop_2Elist_2Elist @ A_27a,V3e: A_27a,V4R: A_27a > A_27a > $o] :
      ( ( ( c_2Elist_2ELRC @ A_27a @ V4R @ V2ls @ V1x @ V0y )
        & ( c_2Ebool_2EIN @ A_27a @ V3e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2ls ) ) )
     => ? [V5z: A_27a,V6t: tyop_2Elist_2Elist @ A_27a] :
          ( ( V4R @ V3e @ V5z )
          & ( c_2Elist_2ELRC @ A_27a @ V4R @ V6t @ V5z @ V0y ) ) ) ).

thf(thm_2Elist_2ENRC__LRC,axiom,
    ! [A_27a: $tType,V0y: A_27a,V1x: A_27a,V2n: tyop_2Enum_2Enum,V3R: A_27a > A_27a > $o] :
      ( ( c_2Earithmetic_2ENRC @ A_27a @ V3R @ V2n @ V1x @ V0y )
    <=> ? [V4ls: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELRC @ A_27a @ V3R @ V4ls @ V1x @ V0y )
          & ( ( c_2Elist_2ELENGTH @ A_27a @ V4ls )
            = V2n ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__FLAT__REVERSE,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EFLAT @ A_27a @ ( c_2Elist_2EREVERSE @ ( tyop_2Elist_2Elist @ A_27a ) @ V0xs ) ) )
      = ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EFLAT @ A_27a @ V0xs ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__REVERSE,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0l ) )
      = ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0l ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__ZIP__SWAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2EALL__DISTINCT @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) )
        & ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
          = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) ) )
     => ( c_2Elist_2EALL__DISTINCT @ ( tyop_2Epair_2Eprod @ A_27b @ A_27a ) @ ( c_2Elist_2EZIP @ A_27b @ A_27a @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27b ) @ ( tyop_2Elist_2Elist @ A_27a ) @ V1l2 @ V0l1 ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0l1 )
        & ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
          = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) ) )
     => ( c_2Elist_2EALL__DISTINCT @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__SING,axiom,
    ! [A_27a: $tType,V0x: A_27a] : ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__APPEND,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
    <=> ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0l1 )
        & ( c_2Elist_2EALL__DISTINCT @ A_27a @ V1l2 )
        & ! [V2e: A_27a] :
            ( ( c_2Ebool_2EIN @ A_27a @ V2e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l1 ) )
           => ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V2e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) ) ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__EL__IMP,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1n1: tyop_2Enum_2Enum,V2n2: tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0l )
        & ( c_2Eprim__rec_2E_3C @ V1n1 @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
        & ( c_2Eprim__rec_2E_3C @ V2n2 @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) ) )
     => ( ( ( c_2Elist_2EEL @ A_27a @ V1n1 @ V0l )
          = ( c_2Elist_2EEL @ A_27a @ V2n2 @ V0l ) )
      <=> ( V1n1 = V2n2 ) ) ) ).

thf(thm_2Elist_2EEL__ALL__DISTINCT__EL__EQ,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0l )
    <=> ! [V1n1: tyop_2Enum_2Enum,V2n2: tyop_2Enum_2Enum] :
          ( ( ( c_2Eprim__rec_2E_3C @ V1n1 @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
            & ( c_2Eprim__rec_2E_3C @ V2n2 @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) ) )
         => ( ( ( c_2Elist_2EEL @ A_27a @ V1n1 @ V0l )
              = ( c_2Elist_2EEL @ A_27a @ V2n2 @ V0l ) )
          <=> ( V1n1 = V2n2 ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V1ls ) )
     => ( c_2Elist_2EALL__DISTINCT @ A_27a @ V1ls ) ) ).

thf(thm_2Elist_2EFILTER__ALL__DISTINCT,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V1l )
     => ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__FILTER,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0l )
    <=> ! [V1x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) )
         => ( ( c_2Elist_2EFILTER @ A_27a @ ( c_2Emin_2E_3D @ A_27a @ V1x ) @ V0l )
            = ( c_2Elist_2ECONS @ A_27a @ V1x @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ) ).

thf(thm_2Elist_2EEVERY2__mono,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27a,V2R2: A_27a > A_27b > $o,V3R1: A_27a > A_27b > $o] :
      ( ! [V4x: A_27a,V5y: A_27b] :
          ( ( V3R1 @ V4x @ V5y )
         => ( V2R2 @ V4x @ V5y ) )
     => ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V3R1 @ V1l1 @ V0l2 )
       => ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V2R2 @ V1l1 @ V0l2 ) ) ) ).

thf(thm_2Elist_2EEVERY2__LENGTH,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0P: A_27a > A_27b > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0P @ V1l1 @ V2l2 )
     => ( ( c_2Elist_2ELENGTH @ A_27a @ V1l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V2l2 ) ) ) ).

thf(thm_2Elist_2EEVERY2__EVERY,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b,V2f: A_27a > A_27b > $o] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V2f @ V0l1 @ V1l2 )
    <=> ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
          = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
        & ( c_2Elist_2EEVERY @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ $o @ V2f ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) ) ) ).

thf(thm_2Elist_2EMAP__EQ__EVERY2,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f1: A_27a > A_27b,V1f2: A_27c > A_27b,V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27c] :
      ( ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f1 @ V2l1 )
        = ( c_2Elist_2EMAP @ A_27c @ A_27b @ V1f2 @ V3l2 ) )
    <=> ( ( ( c_2Elist_2ELENGTH @ A_27a @ V2l1 )
          = ( c_2Elist_2ELENGTH @ A_27c @ V3l2 ) )
        & ( c_2Elist_2ELIST__REL @ A_27a @ A_27c
          @ ^ [V4x: A_27a,V5y: A_27c] : ( c_2Emin_2E_3D @ A_27b @ ( V0f1 @ V4x ) @ ( V1f2 @ V5y ) )
          @ V2l1
          @ V3l2 ) ) ) ).

thf(thm_2Elist_2EEVERY2__cong,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l1_27: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b,V3l2_27: tyop_2Elist_2Elist @ A_27b,V4P: A_27a > A_27b > $o,V5P_27: A_27a > A_27b > $o] :
      ( ( ( V0l1 = V1l1_27 )
        & ( V2l2 = V3l2_27 )
        & ! [V6x: A_27a,V7y: A_27b] :
            ( ( ( c_2Ebool_2EIN @ A_27a @ V6x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l1_27 ) )
              & ( c_2Ebool_2EIN @ A_27b @ V7y @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ V3l2_27 ) ) )
           => ( ( V4P @ V6x @ V7y )
              = ( V5P_27 @ V6x @ V7y ) ) ) )
     => ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V4P @ V0l1 @ V2l2 )
        = ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V5P_27 @ V1l1_27 @ V3l2_27 ) ) ) ).

thf(thm_2Elist_2EFOLDL2__FOLDL,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ! [V2f: A_27c > A_27a > A_27b > A_27c,V3a: A_27c] :
          ( ( c_2Elist_2EFOLDL2 @ A_27c @ A_27a @ A_27b @ V2f @ V3a @ V0l1 @ V1l2 )
          = ( c_2Elist_2EFOLDL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c
            @ ^ [V4a: A_27c] : ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ A_27c @ ( V2f @ V4a ) )
            @ V3a
            @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) ) ) ).

thf(thm_2Elist_2EFOLDL2__cong,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l1_27: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b,V3l2_27: tyop_2Elist_2Elist @ A_27b,V4a: A_27c,V5a_27: A_27c,V6f: A_27c > A_27a > A_27b > A_27c,V7f_27: A_27c > A_27a > A_27b > A_27c] :
      ( ( ( V0l1 = V1l1_27 )
        & ( V2l2 = V3l2_27 )
        & ( V4a = V5a_27 )
        & ! [V8z: A_27c,V9b: A_27a,V10c: A_27b] :
            ( ( ( c_2Ebool_2EIN @ A_27a @ V9b @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l1_27 ) )
              & ( c_2Ebool_2EIN @ A_27b @ V10c @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ V3l2_27 ) ) )
           => ( ( V6f @ V8z @ V9b @ V10c )
              = ( V7f_27 @ V8z @ V9b @ V10c ) ) ) )
     => ( ( c_2Elist_2EFOLDL2 @ A_27c @ A_27a @ A_27b @ V6f @ V4a @ V0l1 @ V2l2 )
        = ( c_2Elist_2EFOLDL2 @ A_27c @ A_27a @ A_27b @ V7f_27 @ V5a_27 @ V1l1_27 @ V3l2_27 ) ) ) ).

thf(thm_2Elist_2EFOLDL2__def,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType] :
      ( ! [V0f: A_27a > A_27b > A_27c > A_27a,V1cs: tyop_2Elist_2Elist @ A_27c,V2c: A_27c,V3bs: tyop_2Elist_2Elist @ A_27b,V4b: A_27b,V5a: A_27a] :
          ( ( c_2Elist_2EFOLDL2 @ A_27a @ A_27b @ A_27c @ V0f @ V5a @ ( c_2Elist_2ECONS @ A_27b @ V4b @ V3bs ) @ ( c_2Elist_2ECONS @ A_27c @ V2c @ V1cs ) )
          = ( c_2Elist_2EFOLDL2 @ A_27a @ A_27b @ A_27c @ V0f @ ( V0f @ V5a @ V4b @ V2c ) @ V3bs @ V1cs ) )
      & ! [V6f: A_27a > A_27b > A_27c > A_27a,V7cs: tyop_2Elist_2Elist @ A_27c,V8a: A_27a] :
          ( ( c_2Elist_2EFOLDL2 @ A_27a @ A_27b @ A_27c @ V6f @ V8a @ ( c_2Elist_2ENIL @ A_27b ) @ V7cs )
          = V8a )
      & ! [V9v7: tyop_2Elist_2Elist @ A_27b,V10v6: A_27b,V11f: A_27a > A_27b > A_27c > A_27a,V12a: A_27a] :
          ( ( c_2Elist_2EFOLDL2 @ A_27a @ A_27b @ A_27c @ V11f @ V12a @ ( c_2Elist_2ECONS @ A_27b @ V10v6 @ V9v7 ) @ ( c_2Elist_2ENIL @ A_27c ) )
          = V12a ) ) ).

thf(thm_2Elist_2EFOLDL2__ind,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0P: ( A_27a > A_27b > A_27c > A_27a ) > A_27a > ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27c ) > $o] :
      ( ( ! [V1f: A_27a > A_27b > A_27c > A_27a,V2a: A_27a,V3b: A_27b,V4bs: tyop_2Elist_2Elist @ A_27b,V5c: A_27c,V6cs: tyop_2Elist_2Elist @ A_27c] :
            ( ( V0P @ V1f @ ( V1f @ V2a @ V3b @ V5c ) @ V4bs @ V6cs )
           => ( V0P @ V1f @ V2a @ ( c_2Elist_2ECONS @ A_27b @ V3b @ V4bs ) @ ( c_2Elist_2ECONS @ A_27c @ V5c @ V6cs ) ) )
        & ! [V7f: A_27a > A_27b > A_27c > A_27a,V8a: A_27a,V9cs: tyop_2Elist_2Elist @ A_27c] : ( V0P @ V7f @ V8a @ ( c_2Elist_2ENIL @ A_27b ) @ V9cs )
        & ! [V10f: A_27a > A_27b > A_27c > A_27a,V11a: A_27a,V12v6: A_27b,V13v7: tyop_2Elist_2Elist @ A_27b] : ( V0P @ V10f @ V11a @ ( c_2Elist_2ECONS @ A_27b @ V12v6 @ V13v7 ) @ ( c_2Elist_2ENIL @ A_27c ) ) )
     => ! [V14v: A_27a > A_27b > A_27c > A_27a,V15v1: A_27a,V16v2: tyop_2Elist_2Elist @ A_27b,V17v3: tyop_2Elist_2Elist @ A_27c] : ( V0P @ V14v @ V15v1 @ V16v2 @ V17v3 ) ) ).

thf(thm_2Elist_2EDROP__NIL,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2EDROP @ A_27a @ V1n @ V0ls )
        = ( c_2Elist_2ENIL @ A_27a ) )
    <=> ( c_2Earithmetic_2E_3E_3D @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V0ls ) ) ) ).

thf(thm_2Elist_2EMEM__DROP,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1ls: tyop_2Elist_2Elist @ A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EDROP @ A_27a @ V2n @ V1ls ) ) )
    <=> ( ( ( c_2Eprim__rec_2E_3C @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V1ls ) )
          & ( V0x
            = ( c_2Elist_2EEL @ A_27a @ V2n @ V1ls ) ) )
        | ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EDROP @ A_27a @ ( c_2Enum_2ESUC @ V2n ) @ V1ls ) ) ) ) ) ).

thf(thm_2Elist_2ELENGTH__DROP,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EDROP @ A_27a @ V0n @ V1l ) )
      = ( c_2Earithmetic_2E_2D @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) @ V0n ) ) ).

thf(thm_2Elist_2ETAKE__DROP,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2ETAKE @ A_27a @ V0n @ V1l ) @ ( c_2Elist_2EDROP @ A_27a @ V0n @ V1l ) )
      = V1l ) ).

thf(thm_2Elist_2EDROP__0,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EDROP @ A_27a @ c_2Enum_2E0 @ V0l )
      = V0l ) ).

thf(thm_2Elist_2ETAKE__APPEND2,axiom,
    ! [A_27a: $tType,V0l2: tyop_2Elist_2Elist @ A_27a,V1l1: tyop_2Elist_2Elist @ A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) @ V2n )
     => ( ( c_2Elist_2ETAKE @ A_27a @ V2n @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V0l2 ) )
        = ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ ( c_2Elist_2ETAKE @ A_27a @ ( c_2Earithmetic_2E_2D @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) ) @ V0l2 ) ) ) ) ).

thf(thm_2Elist_2ETAKE__APPEND1,axiom,
    ! [A_27a: $tType,V0l2: tyop_2Elist_2Elist @ A_27a,V1l1: tyop_2Elist_2Elist @ A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Earithmetic_2E_3C_3D @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) )
     => ( ( c_2Elist_2ETAKE @ A_27a @ V2n @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V0l2 ) )
        = ( c_2Elist_2ETAKE @ A_27a @ V2n @ V1l1 ) ) ) ).

thf(thm_2Elist_2EMAP__TAKE,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1n: tyop_2Enum_2Enum,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ ( c_2Elist_2ETAKE @ A_27a @ V1n @ V2l ) )
      = ( c_2Elist_2ETAKE @ A_27b @ V1n @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V2l ) ) ) ).

thf(thm_2Elist_2ELENGTH__TAKE,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Earithmetic_2E_3C_3D @ V0n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) )
     => ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ETAKE @ A_27a @ V0n @ V1l ) )
        = V0n ) ) ).

thf(thm_2Elist_2ETAKE__LENGTH__ID,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ETAKE @ A_27a @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) @ V0l )
      = V0l ) ).

thf(thm_2Elist_2ETAKE__0,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ETAKE @ A_27a @ c_2Enum_2E0 @ V0l )
      = ( c_2Elist_2ENIL @ A_27a ) ) ).

thf(thm_2Elist_2EDROP__cons,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ V2n )
     => ( ( c_2Elist_2EDROP @ A_27a @ V2n @ ( c_2Elist_2ECONS @ A_27a @ V1x @ V0xs ) )
        = ( c_2Elist_2EDROP @ A_27a @ ( c_2Earithmetic_2E_2D @ V2n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V0xs ) ) ) ).

thf(thm_2Elist_2EDROP__nil,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EDROP @ A_27a @ V0n @ ( c_2Elist_2ENIL @ A_27a ) )
      = ( c_2Elist_2ENIL @ A_27a ) ) ).

thf(thm_2Elist_2ETAKE__cons,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ V2n )
     => ( ( c_2Elist_2ETAKE @ A_27a @ V2n @ ( c_2Elist_2ECONS @ A_27a @ V1x @ V0xs ) )
        = ( c_2Elist_2ECONS @ A_27a @ V1x @ ( c_2Elist_2ETAKE @ A_27a @ ( c_2Earithmetic_2E_2D @ V2n @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V0xs ) ) ) ) ).

thf(thm_2Elist_2ETAKE__nil,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ETAKE @ A_27a @ V0n @ ( c_2Elist_2ENIL @ A_27a ) )
      = ( c_2Elist_2ENIL @ A_27a ) ) ).

thf(thm_2Elist_2ELAST__APPEND__CONS,axiom,
    ! [A_27a: $tType,V0h: A_27a,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V2l2 ) ) )
      = ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V2l2 ) ) ) ).

thf(thm_2Elist_2ELAST__CONS__cond,axiom,
    ! [A_27a: $tType,V0t: tyop_2Elist_2Elist @ A_27a,V1h: A_27a] :
      ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V1h @ V0t ) )
      = ( c_2Ebool_2ECOND @ A_27a @ ( c_2Emin_2E_3D @ ( tyop_2Elist_2Elist @ A_27a ) @ V0t @ ( c_2Elist_2ENIL @ A_27a ) ) @ V1h @ ( c_2Elist_2ELAST @ A_27a @ V0t ) ) ) ).

thf(thm_2Elist_2EAPPEND__FRONT__LAST,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~)
        @ ( V0l
          = ( c_2Elist_2ENIL @ A_27a ) ) )
     => ( ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EFRONT @ A_27a @ V0l ) @ ( c_2Elist_2ECONS @ A_27a @ ( c_2Elist_2ELAST @ A_27a @ V0l ) @ ( c_2Elist_2ENIL @ A_27a ) ) )
        = V0l ) ) ).

thf(thm_2Elist_2EFRONT__CONS__EQ__NIL,axiom,
    ! [A_27a: $tType] :
      ( ! [V0x: A_27a,V1xs: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ V1xs ) )
            = ( c_2Elist_2ENIL @ A_27a ) )
        <=> ( V1xs
            = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V2x: A_27a,V3xs: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ENIL @ A_27a )
            = ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V2x @ V3xs ) ) )
        <=> ( V3xs
            = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V4x: A_27a,V5xs: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ENULL @ A_27a @ ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V4x @ V5xs ) ) )
          = ( c_2Elist_2ENULL @ A_27a @ V5xs ) ) ) ).

thf(thm_2Elist_2ELENGTH__FRONT__CONS,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1xs: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ V1xs ) ) )
      = ( c_2Elist_2ELENGTH @ A_27a @ V1xs ) ) ).

thf(thm_2Elist_2EFRONT__CONS,axiom,
    ! [A_27a: $tType] :
      ( ! [V0x: A_27a] :
          ( ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) ) )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V1x: A_27a,V2y: A_27a,V3z: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V1x @ ( c_2Elist_2ECONS @ A_27a @ V2y @ V3z ) ) )
          = ( c_2Elist_2ECONS @ A_27a @ V1x @ ( c_2Elist_2EFRONT @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V2y @ V3z ) ) ) ) ) ).

thf(thm_2Elist_2ELAST__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1f: A_27a > A_27b] :
      ( ( (~)
        @ ( V0l
          = ( c_2Elist_2ENIL @ A_27a ) ) )
     => ( ( c_2Elist_2ELAST @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V0l ) )
        = ( V1f @ ( c_2Elist_2ELAST @ A_27a @ V0l ) ) ) ) ).

thf(thm_2Elist_2ELAST__EL,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~)
        @ ( V0ls
          = ( c_2Elist_2ENIL @ A_27a ) ) )
     => ( ( c_2Elist_2ELAST @ A_27a @ V0ls )
        = ( c_2Elist_2EEL @ A_27a @ ( c_2Eprim__rec_2EPRE @ ( c_2Elist_2ELENGTH @ A_27a @ V0ls ) ) @ V0ls ) ) ) ).

thf(thm_2Elist_2ELAST__CONS,axiom,
    ! [A_27a: $tType] :
      ( ! [V0x: A_27a] :
          ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) ) )
          = V0x )
      & ! [V1x: A_27a,V2y: A_27a,V3z: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V1x @ ( c_2Elist_2ECONS @ A_27a @ V2y @ V3z ) ) )
          = ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V2y @ V3z ) ) ) ) ).

thf(thm_2Elist_2EFILTER__REVERSE,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1P: A_27a > $o] :
      ( ( c_2Elist_2EFILTER @ A_27a @ V1P @ ( c_2Elist_2EREVERSE @ A_27a @ V0l ) )
      = ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V1P @ V0l ) ) ) ).

thf(thm_2Elist_2EREVERSE__EQ__SING,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1e: A_27a] :
      ( ( ( c_2Elist_2EREVERSE @ A_27a @ V0l )
        = ( c_2Elist_2ECONS @ A_27a @ V1e @ ( c_2Elist_2ENIL @ A_27a ) ) )
    <=> ( V0l
        = ( c_2Elist_2ECONS @ A_27a @ V1e @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2EREVERSE__EQ__NIL,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EREVERSE @ A_27a @ V0l )
        = ( c_2Elist_2ENIL @ A_27a ) )
    <=> ( V0l
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ELENGTH__REVERSE,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0l ) )
      = ( c_2Elist_2ELENGTH @ A_27a @ V0l ) ) ).

thf(thm_2Elist_2EMEM__REVERSE,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1x: A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0l ) ) )
      = ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) ) ) ).

thf(thm_2Elist_2EREVERSE__11,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EREVERSE @ A_27a @ V0l1 )
        = ( c_2Elist_2EREVERSE @ A_27a @ V1l2 ) )
    <=> ( V0l1 = V1l2 ) ) ).

thf(thm_2Elist_2EREVERSE__REVERSE,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0l ) )
      = V0l ) ).

thf(thm_2Elist_2EREVERSE__APPEND,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EREVERSE @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V1l2 ) @ ( c_2Elist_2EREVERSE @ A_27a @ V0l1 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__EVERY__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V1l1 @ V2l2 )
    <=> ( ( ( c_2Elist_2ELENGTH @ A_27a @ V1l1 )
          = ( c_2Elist_2ELENGTH @ A_27b @ V2l2 ) )
        & ( c_2Elist_2EEVERY @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ $o @ V0R ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V1l1 @ V2l2 ) ) ) ) ) ).

thf(thm_2Elist_2ESUM__MAP__PLUS__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0h: A_27b > tyop_2Enum_2Enum,V1g: A_27a > tyop_2Enum_2Enum,V2f: ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) > tyop_2Enum_2Enum,V3ls1: tyop_2Elist_2Elist @ A_27a,V4ls2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( ( c_2Elist_2ELENGTH @ A_27a @ V3ls1 )
          = ( c_2Elist_2ELENGTH @ A_27b @ V4ls2 ) )
        & ! [V5x: A_27a,V6y: A_27b] :
            ( ( V2f @ ( c_2Epair_2E_2C @ A_27a @ A_27b @ V5x @ V6y ) )
            = ( c_2Earithmetic_2E_2B @ ( V1g @ V5x ) @ ( V0h @ V6y ) ) ) )
     => ( ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ tyop_2Enum_2Enum @ V2f @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V3ls1 @ V4ls2 ) ) ) )
        = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum @ V1g @ V3ls1 ) ) @ ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27b @ tyop_2Enum_2Enum @ V0h @ V4ls2 ) ) ) ) ) ).

thf(thm_2Elist_2EMEM__EL,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1x: A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) )
    <=> ? [V2n: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2E_3C @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
          & ( V1x
            = ( c_2Elist_2EEL @ A_27a @ V2n @ V0l ) ) ) ) ).

thf(thm_2Elist_2EMAP__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27a,V2g: A_27b > A_27d,V3f: A_27a > A_27c] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V1l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V0l2 ) )
     => ( ( ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a @ ( c_2Epair_2EFST @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V1l1 @ V0l2 ) ) )
          = V1l1 )
        & ( ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27b @ ( c_2Epair_2ESND @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V1l1 @ V0l2 ) ) )
          = V0l2 )
        & ( ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c @ ( c_2Ecombin_2Eo @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c @ A_27a @ V3f @ ( c_2Epair_2EFST @ A_27a @ A_27b ) ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V1l1 @ V0l2 ) ) )
          = ( c_2Elist_2EMAP @ A_27a @ A_27c @ V3f @ V1l1 ) )
        & ( ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27d @ ( c_2Ecombin_2Eo @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27d @ A_27b @ V2g @ ( c_2Epair_2ESND @ A_27a @ A_27b ) ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V1l1 @ V0l2 ) ) )
          = ( c_2Elist_2EMAP @ A_27b @ A_27d @ V2g @ V0l2 ) ) ) ) ).

thf(thm_2Elist_2EMAP2__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ! [V2f: A_27a > A_27b > A_27c] :
          ( ( c_2Elist_2EMAP2 @ A_27c @ A_27a @ A_27b @ V2f @ V0l1 @ V1l2 )
          = ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ A_27c @ V2f ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) ) ) ).

thf(thm_2Elist_2EMAP2__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ! [V2f: A_27a > A_27b > A_27c] :
          ( ( c_2Elist_2EMAP2 @ A_27c @ A_27a @ A_27b @ V2f @ V0l1 @ V1l2 )
          = ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27c @ ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ A_27c @ V2f ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) ) ) ).

thf(thm_2Elist_2EEL__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b,V2n: tyop_2Enum_2Enum] :
      ( ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
          = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
        & ( c_2Eprim__rec_2E_3C @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) ) )
     => ( ( c_2Elist_2EEL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V2n @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) )
        = ( c_2Epair_2E_2C @ A_27a @ A_27b @ ( c_2Elist_2EEL @ A_27a @ V2n @ V0l1 ) @ ( c_2Elist_2EEL @ A_27b @ V2n @ V1l2 ) ) ) ) ).

thf(thm_2Elist_2EMEM__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b,V2p: tyop_2Epair_2Eprod @ A_27a @ A_27b] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ( ( c_2Ebool_2EIN @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V2p @ ( c_2Elist_2ELIST__TO__SET @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) )
      <=> ? [V3n: tyop_2Enum_2Enum] :
            ( ( c_2Eprim__rec_2E_3C @ V3n @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) )
            & ( V2p
              = ( c_2Epair_2E_2C @ A_27a @ A_27b @ ( c_2Elist_2EEL @ A_27a @ V3n @ V0l1 ) @ ( c_2Elist_2EEL @ A_27b @ V3n @ V1l2 ) ) ) ) ) ) ).

thf(thm_2Elist_2EZIP__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b,V2f1: A_27a > A_27c,V3f2: A_27b > A_27d] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ( ( ( c_2Elist_2EZIP @ A_27c @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27c ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EMAP @ A_27a @ A_27c @ V2f1 @ V0l1 ) @ V1l2 ) )
          = ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( tyop_2Epair_2Eprod @ A_27c @ A_27b )
            @ ^ [V4p: tyop_2Epair_2Eprod @ A_27a @ A_27b] : ( c_2Epair_2E_2C @ A_27c @ A_27b @ ( V2f1 @ ( c_2Epair_2EFST @ A_27a @ A_27b @ V4p ) ) @ ( c_2Epair_2ESND @ A_27a @ A_27b @ V4p ) )
            @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) )
        & ( ( c_2Elist_2EZIP @ A_27a @ A_27d @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27d ) @ V0l1 @ ( c_2Elist_2EMAP @ A_27b @ A_27d @ V3f2 @ V1l2 ) ) )
          = ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( tyop_2Epair_2Eprod @ A_27a @ A_27d )
            @ ^ [V5p: tyop_2Epair_2Eprod @ A_27a @ A_27b] : ( c_2Epair_2E_2C @ A_27a @ A_27d @ ( c_2Epair_2EFST @ A_27a @ A_27b @ V5p ) @ ( V3f2 @ ( c_2Epair_2ESND @ A_27a @ A_27b @ V5p ) ) )
            @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) ) ) ) ).

thf(thm_2Elist_2EUNZIP__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ( ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) )
        = ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) ) ).

thf(thm_2Elist_2EZIP__UNZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )] :
      ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ V0l ) )
      = V0l ) ).

thf(thm_2Elist_2ELENGTH__UNZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0pl: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Epair_2EFST @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ V0pl ) ) )
        = ( c_2Elist_2ELENGTH @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V0pl ) )
      & ( ( c_2Elist_2ELENGTH @ A_27b @ ( c_2Epair_2ESND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ V0pl ) ) )
        = ( c_2Elist_2ELENGTH @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V0pl ) ) ) ).

thf(thm_2Elist_2ELENGTH__ZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ( ( ( c_2Elist_2ELENGTH @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) )
          = ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) )
        & ( ( c_2Elist_2ELENGTH @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) )
          = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) ) ) ) ).

thf(thm_2Elist_2EUNZIP__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0L: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )] :
      ( ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ V0L )
      = ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a @ ( c_2Epair_2EFST @ A_27a @ A_27b ) @ V0L ) @ ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27b @ ( c_2Epair_2ESND @ A_27a @ A_27b ) @ V0L ) ) ) ).

thf(thm_2Elist_2EUNZIP__THM,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0y: A_27b,V1x: A_27a,V2t: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )] :
      ( ( ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ ( c_2Elist_2ENIL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) )
        = ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27b ) ) )
      & ( ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ ( c_2Elist_2ECONS @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Epair_2E_2C @ A_27a @ A_27b @ V1x @ V0y ) @ V2t ) )
        = ( c_2Ebool_2ELET @ ( tyop_2Epair_2Eprod @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) ) @ ( tyop_2Epair_2Eprod @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) )
          @ ( c_2Epair_2EUNCURRY @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( tyop_2Epair_2Eprod @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) )
            @ ^ [V3L1: tyop_2Elist_2Elist @ A_27a,V4L2: tyop_2Elist_2Elist @ A_27b] : ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ECONS @ A_27a @ V1x @ V3L1 ) @ ( c_2Elist_2ECONS @ A_27b @ V0y @ V4L2 ) ) )
          @ ( c_2Elist_2EUNZIP @ A_27a @ A_27b @ V2t ) ) ) ) ).

thf(thm_2Elist_2EZIP,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType] :
      ( ( ( c_2Elist_2EZIP @ A_27c @ A_27d @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27c ) @ ( tyop_2Elist_2Elist @ A_27d ) @ ( c_2Elist_2ENIL @ A_27c ) @ ( c_2Elist_2ENIL @ A_27d ) ) )
        = ( c_2Elist_2ENIL @ ( tyop_2Epair_2Eprod @ A_27c @ A_27d ) ) )
      & ! [V0x1: A_27a,V1l1: tyop_2Elist_2Elist @ A_27a,V2x2: A_27b,V3l2: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ECONS @ A_27a @ V0x1 @ V1l1 ) @ ( c_2Elist_2ECONS @ A_27b @ V2x2 @ V3l2 ) ) )
          = ( c_2Elist_2ECONS @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Epair_2E_2C @ A_27a @ A_27b @ V0x1 @ V2x2 ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V1l1 @ V3l2 ) ) ) ) ) ).

thf(thm_2Elist_2EEVERY__MONOTONIC,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1Q: A_27a > $o] :
      ( ! [V2x: A_27a] :
          ( ( V0P @ V2x )
         => ( V1Q @ V2x ) )
     => ! [V3l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ V3l )
         => ( c_2Elist_2EEVERY @ A_27a @ V1Q @ V3l ) ) ) ).

thf(thm_2Elist_2EEVERY__CONG,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2P: A_27a > $o,V3P_27: A_27a > $o] :
      ( ( ( V0l1 = V1l2 )
        & ! [V4x: A_27a] :
            ( ( c_2Ebool_2EIN @ A_27a @ V4x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) )
           => ( ( V2P @ V4x )
              = ( V3P_27 @ V4x ) ) ) )
     => ( ( c_2Elist_2EEVERY @ A_27a @ V2P @ V0l1 )
        = ( c_2Elist_2EEVERY @ A_27a @ V3P_27 @ V1l2 ) ) ) ).

thf(thm_2Elist_2EEXISTS__CONG,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2P: A_27a > $o,V3P_27: A_27a > $o] :
      ( ( ( V0l1 = V1l2 )
        & ! [V4x: A_27a] :
            ( ( c_2Ebool_2EIN @ A_27a @ V4x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) )
           => ( ( V2P @ V4x )
              = ( V3P_27 @ V4x ) ) ) )
     => ( ( c_2Elist_2EEXISTS @ A_27a @ V2P @ V0l1 )
        = ( c_2Elist_2EEXISTS @ A_27a @ V3P_27 @ V1l2 ) ) ) ).

thf(thm_2Elist_2EMAP2__CONG,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l1_27: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b,V3l2_27: tyop_2Elist_2Elist @ A_27b,V4f: A_27a > A_27b > A_27c,V5f_27: A_27a > A_27b > A_27c] :
      ( ( ( V0l1 = V1l1_27 )
        & ( V2l2 = V3l2_27 )
        & ! [V6x: A_27a,V7y: A_27b] :
            ( ( ( c_2Ebool_2EIN @ A_27a @ V6x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l1_27 ) )
              & ( c_2Ebool_2EIN @ A_27b @ V7y @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ V3l2_27 ) ) )
           => ( ( V4f @ V6x @ V7y )
              = ( V5f_27 @ V6x @ V7y ) ) ) )
     => ( ( c_2Elist_2EMAP2 @ A_27c @ A_27a @ A_27b @ V4f @ V0l1 @ V2l2 )
        = ( c_2Elist_2EMAP2 @ A_27c @ A_27a @ A_27b @ V5f_27 @ V1l1_27 @ V3l2_27 ) ) ) ).

thf(thm_2Elist_2EMAP__CONG,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2f: A_27a > A_27b,V3f_27: A_27a > A_27b] :
      ( ( ( V0l1 = V1l2 )
        & ! [V4x: A_27a] :
            ( ( c_2Ebool_2EIN @ A_27a @ V4x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) )
           => ( ( V2f @ V4x )
              = ( V3f_27 @ V4x ) ) ) )
     => ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V2f @ V0l1 )
        = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f_27 @ V1l2 ) ) ) ).

thf(thm_2Elist_2EFOLDL__CONG,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1l_27: tyop_2Elist_2Elist @ A_27a,V2b: A_27b,V3b_27: A_27b,V4f: A_27b > A_27a > A_27b,V5f_27: A_27b > A_27a > A_27b] :
      ( ( ( V0l = V1l_27 )
        & ( V2b = V3b_27 )
        & ! [V6x: A_27a,V7a: A_27b] :
            ( ( c_2Ebool_2EIN @ A_27a @ V6x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l_27 ) )
           => ( ( V4f @ V7a @ V6x )
              = ( V5f_27 @ V7a @ V6x ) ) ) )
     => ( ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ V4f @ V2b @ V0l )
        = ( c_2Elist_2EFOLDL @ A_27a @ A_27b @ V5f_27 @ V3b_27 @ V1l_27 ) ) ) ).

thf(thm_2Elist_2EFOLDR__CONG,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1l_27: tyop_2Elist_2Elist @ A_27a,V2b: A_27b,V3b_27: A_27b,V4f: A_27a > A_27b > A_27b,V5f_27: A_27a > A_27b > A_27b] :
      ( ( ( V0l = V1l_27 )
        & ( V2b = V3b_27 )
        & ! [V6x: A_27a,V7a: A_27b] :
            ( ( c_2Ebool_2EIN @ A_27a @ V6x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l_27 ) )
           => ( ( V4f @ V6x @ V7a )
              = ( V5f_27 @ V6x @ V7a ) ) ) )
     => ( ( c_2Elist_2EFOLDR @ A_27a @ A_27b @ V4f @ V2b @ V0l )
        = ( c_2Elist_2EFOLDR @ A_27a @ A_27b @ V5f_27 @ V3b_27 @ V1l_27 ) ) ) ).

thf(thm_2Elist_2Elist__size__cong,axiom,
    ! [A_27a: $tType,V0M: tyop_2Elist_2Elist @ A_27a,V1N: tyop_2Elist_2Elist @ A_27a,V2f: A_27a > tyop_2Enum_2Enum,V3f_27: A_27a > tyop_2Enum_2Enum] :
      ( ( ( V0M = V1N )
        & ! [V4x: A_27a] :
            ( ( c_2Ebool_2EIN @ A_27a @ V4x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1N ) )
           => ( ( V2f @ V4x )
              = ( V3f_27 @ V4x ) ) ) )
     => ( ( c_2Elist_2Elist__size @ A_27a @ V2f @ V0M )
        = ( c_2Elist_2Elist__size @ A_27a @ V3f_27 @ V1N ) ) ) ).

thf(thm_2Elist_2ELIST__REL__SPLIT2,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0xs2: tyop_2Elist_2Elist @ A_27a,V1P: A_27b > A_27a > $o,V2xs1: tyop_2Elist_2Elist @ A_27a,V3zs: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27b @ A_27a @ V1P @ V3zs @ ( c_2Elist_2EAPPEND @ A_27a @ V2xs1 @ V0xs2 ) )
    <=> ? [V4ys1: tyop_2Elist_2Elist @ A_27b,V5ys2: tyop_2Elist_2Elist @ A_27b] :
          ( ( V3zs
            = ( c_2Elist_2EAPPEND @ A_27b @ V4ys1 @ V5ys2 ) )
          & ( c_2Elist_2ELIST__REL @ A_27b @ A_27a @ V1P @ V4ys1 @ V2xs1 )
          & ( c_2Elist_2ELIST__REL @ A_27b @ A_27a @ V1P @ V5ys2 @ V0xs2 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__SPLIT1,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0xs2: tyop_2Elist_2Elist @ A_27a,V1P: A_27a > A_27b > $o,V2xs1: tyop_2Elist_2Elist @ A_27a,V3zs: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V1P @ ( c_2Elist_2EAPPEND @ A_27a @ V2xs1 @ V0xs2 ) @ V3zs )
    <=> ? [V4ys1: tyop_2Elist_2Elist @ A_27b,V5ys2: tyop_2Elist_2Elist @ A_27b] :
          ( ( V3zs
            = ( c_2Elist_2EAPPEND @ A_27b @ V4ys1 @ V5ys2 ) )
          & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V1P @ V2xs1 @ V4ys1 )
          & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V1P @ V0xs2 @ V5ys2 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__LENGTH,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1x: tyop_2Elist_2Elist @ A_27a,V2y: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V1x @ V2y )
     => ( ( c_2Elist_2ELENGTH @ A_27a @ V1x )
        = ( c_2Elist_2ELENGTH @ A_27b @ V2y ) ) ) ).

thf(thm_2Elist_2ELIST__REL__MAP2,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l2: tyop_2Elist_2Elist @ A_27c,V1l1: tyop_2Elist_2Elist @ A_27a,V2f: A_27c > A_27b,V3R: A_27a > A_27b > $o] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b
        @ ^ [V4a: A_27a,V5b: A_27b] : ( V3R @ V4a @ V5b )
        @ V1l1
        @ ( c_2Elist_2EMAP @ A_27c @ A_27b @ V2f @ V0l2 ) )
      = ( c_2Elist_2ELIST__REL @ A_27a @ A_27c
        @ ^ [V6a: A_27a,V7b: A_27c] : ( V3R @ V6a @ ( V2f @ V7b ) )
        @ V1l1
        @ V0l2 ) ) ).

thf(thm_2Elist_2ELIST__REL__MAP1,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27c,V2f: A_27c > A_27a,V3R: A_27a > A_27b > $o] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V3R @ ( c_2Elist_2EMAP @ A_27c @ A_27a @ V2f @ V1l1 ) @ V0l2 )
      = ( c_2Elist_2ELIST__REL @ A_27c @ A_27b @ ( c_2Ecombin_2Eo @ A_27c @ ( A_27b > $o ) @ A_27a @ V3R @ V2f ) @ V1l1 @ V0l2 ) ) ).

thf(thm_2Elist_2ELIST__REL__CONJ,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27a,V2Q: A_27a > A_27b > $o,V3P: A_27a > A_27b > $o] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b
        @ ^ [V4a: A_27a,V5b: A_27b] : ( c_2Ebool_2E_2F_5C @ ( V3P @ V4a @ V5b ) @ ( V2Q @ V4a @ V5b ) )
        @ V1l1
        @ V0l2 )
    <=> ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b
          @ ^ [V6a: A_27a,V7b: A_27b] : ( V3P @ V6a @ V7b )
          @ V1l1
          @ V0l2 )
        & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b
          @ ^ [V8a: A_27a,V9b: A_27b] : ( V2Q @ V8a @ V9b )
          @ V1l1
          @ V0l2 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__CONS2,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1t: tyop_2Elist_2Elist @ A_27b,V2h: A_27b,V3R: A_27a > A_27b > $o] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V3R @ V0xs @ ( c_2Elist_2ECONS @ A_27b @ V2h @ V1t ) )
    <=> ? [V4h_27: A_27a,V5t_27: tyop_2Elist_2Elist @ A_27a] :
          ( ( V0xs
            = ( c_2Elist_2ECONS @ A_27a @ V4h_27 @ V5t_27 ) )
          & ( V3R @ V4h_27 @ V2h )
          & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V3R @ V5t_27 @ V1t ) ) ) ).

thf(thm_2Elist_2ELIST__REL__CONS1,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0xs: tyop_2Elist_2Elist @ A_27b,V1t: tyop_2Elist_2Elist @ A_27a,V2h: A_27a,V3R: A_27a > A_27b > $o] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V3R @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V1t ) @ V0xs )
    <=> ? [V4h_27: A_27b,V5t_27: tyop_2Elist_2Elist @ A_27b] :
          ( ( V0xs
            = ( c_2Elist_2ECONS @ A_27b @ V4h_27 @ V5t_27 ) )
          & ( V3R @ V2h @ V4h_27 )
          & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V3R @ V1t @ V5t_27 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__NIL,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0y: tyop_2Elist_2Elist @ A_27b,V1x: tyop_2Elist_2Elist @ A_27a,V2R: A_27a > A_27b > $o] :
      ( ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V2R @ ( c_2Elist_2ENIL @ A_27a ) @ V0y )
      <=> ( V0y
          = ( c_2Elist_2ENIL @ A_27b ) ) )
      & ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V2R @ V1x @ ( c_2Elist_2ENIL @ A_27b ) )
      <=> ( V1x
          = ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2ELIST__REL__mono,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27a,V2R2: A_27a > A_27b > $o,V3R1: A_27a > A_27b > $o] :
      ( ! [V4x: A_27a,V5y: A_27b] :
          ( ( V3R1 @ V4x @ V5y )
         => ( V2R2 @ V4x @ V5y ) )
     => ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V3R1 @ V1l1 @ V0l2 )
       => ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V2R2 @ V1l1 @ V0l2 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__def,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0bs: tyop_2Elist_2Elist @ A_27b,V1b: A_27b,V2as: tyop_2Elist_2Elist @ A_27a,V3a: A_27a,V4R: A_27a > A_27b > $o] :
      ( ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V4R @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27b ) )
        = c_2Ebool_2ET )
      & ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V4R @ ( c_2Elist_2ECONS @ A_27a @ V3a @ V2as ) @ ( c_2Elist_2ENIL @ A_27b ) )
        = c_2Ebool_2EF )
      & ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V4R @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27b @ V1b @ V0bs ) )
        = c_2Ebool_2EF )
      & ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V4R @ ( c_2Elist_2ECONS @ A_27a @ V3a @ V2as ) @ ( c_2Elist_2ECONS @ A_27b @ V1b @ V0bs ) )
      <=> ( ( V4R @ V3a @ V1b )
          & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V4R @ V2as @ V0bs ) ) ) ) ).

thf(thm_2Elist_2EWF__LIST__PRED,axiom,
    ! [A_27a: $tType] :
      ( c_2Erelation_2EWF @ ( tyop_2Elist_2Elist @ A_27a )
      @ ^ [V0L1: tyop_2Elist_2Elist @ A_27a,V1L2: tyop_2Elist_2Elist @ A_27a] :
          ( c_2Ebool_2E_3F @ A_27a
          @ ^ [V2h: A_27a] : ( c_2Emin_2E_3D @ ( tyop_2Elist_2Elist @ A_27a ) @ V1L2 @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V0L1 ) ) ) ) ).

thf(thm_2Elist_2ENULL__FILTER,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ENULL @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1ls ) )
    <=> ! [V2x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1ls ) )
         => ( (~) @ ( V0P @ V2x ) ) ) ) ).

thf(thm_2Elist_2ESUM__eq__0,axiom,
    ! [V0ls: tyop_2Elist_2Elist @ tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2ESUM @ V0ls )
        = c_2Enum_2E0 )
    <=> ! [V1x: tyop_2Enum_2Enum] :
          ( ( c_2Ebool_2EIN @ tyop_2Enum_2Enum @ V1x @ ( c_2Elist_2ELIST__TO__SET @ tyop_2Enum_2Enum @ V0ls ) )
         => ( V1x = c_2Enum_2E0 ) ) ) ).

thf(thm_2Elist_2EEL__simp__restricted,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1ls: tyop_2Elist_2Elist @ A_27a,V2l: A_27a] :
      ( ( ( c_2Elist_2EEL @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) @ ( c_2Elist_2ECONS @ A_27a @ V2l @ V1ls ) )
        = ( c_2Elist_2EEL @ A_27a @ ( c_2Eprim__rec_2EPRE @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) ) @ V1ls ) )
      & ( ( c_2Elist_2EEL @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V0n ) ) @ ( c_2Elist_2ECONS @ A_27a @ V2l @ V1ls ) )
        = ( c_2Elist_2EEL @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) @ V1ls ) ) ) ).

thf(thm_2Elist_2EEL__restricted,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1ls: tyop_2Elist_2Elist @ A_27b,V2l: A_27b] :
      ( ( ( c_2Elist_2EEL @ A_27a @ c_2Enum_2E0 )
        = ( c_2Elist_2EHD @ A_27a ) )
      & ( ( c_2Elist_2EEL @ A_27b @ ( c_2Enum_2ESUC @ V0n ) @ ( c_2Elist_2ECONS @ A_27b @ V2l @ V1ls ) )
        = ( c_2Elist_2EEL @ A_27b @ V0n @ V1ls ) ) ) ).

thf(thm_2Elist_2EEL__simp,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EEL @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) @ V1l )
        = ( c_2Elist_2EEL @ A_27a @ ( c_2Eprim__rec_2EPRE @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) ) @ ( c_2Elist_2ETL @ A_27a @ V1l ) ) )
      & ( ( c_2Elist_2EEL @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V0n ) ) @ V1l )
        = ( c_2Elist_2EEL @ A_27a @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V0n ) ) @ ( c_2Elist_2ETL @ A_27a @ V1l ) ) ) ) ).

thf(thm_2Elist_2EEL__compute,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EEL @ A_27a @ V1n @ V0l )
      = ( c_2Ebool_2ECOND @ A_27a @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1n @ c_2Enum_2E0 ) @ ( c_2Elist_2EHD @ A_27a @ V0l ) @ ( c_2Elist_2EEL @ A_27a @ ( c_2Eprim__rec_2EPRE @ V1n ) @ ( c_2Elist_2ETL @ A_27a @ V0l ) ) ) ) ).

thf(thm_2Elist_2ENOT__NULL__MEM,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~) @ ( c_2Elist_2ENULL @ A_27a @ V0l ) )
    <=> ? [V1e: A_27a] : ( c_2Ebool_2EIN @ A_27a @ V1e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) ) ) ).

thf(thm_2Elist_2EFILTER__COND__REWRITE,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1P: A_27a > $o] :
      ( ( ( c_2Elist_2EFILTER @ A_27a @ V1P @ ( c_2Elist_2ENIL @ A_27a ) )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V2h: A_27a] :
          ( ( V1P @ V2h )
         => ( ( c_2Elist_2EFILTER @ A_27a @ V1P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V0l ) )
            = ( c_2Elist_2ECONS @ A_27a @ V2h @ ( c_2Elist_2EFILTER @ A_27a @ V1P @ V0l ) ) ) )
      & ! [V3h: A_27a] :
          ( ( (~) @ ( V1P @ V3h ) )
         => ( ( c_2Elist_2EFILTER @ A_27a @ V1P @ ( c_2Elist_2ECONS @ A_27a @ V3h @ V0l ) )
            = ( c_2Elist_2EFILTER @ A_27a @ V1P @ V0l ) ) ) ) ).

thf(thm_2Elist_2EEVERY__FILTER__IMP,axiom,
    ! [A_27a: $tType,V0P1: A_27a > $o,V1P2: A_27a > $o,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V0P1 @ V2l )
     => ( c_2Elist_2EEVERY @ A_27a @ V0P1 @ ( c_2Elist_2EFILTER @ A_27a @ V1P2 @ V2l ) ) ) ).

thf(thm_2Elist_2EEVERY__FILTER,axiom,
    ! [A_27a: $tType,V0P1: A_27a > $o,V1P2: A_27a > $o,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V0P1 @ ( c_2Elist_2EFILTER @ A_27a @ V1P2 @ V2l ) )
      = ( c_2Elist_2EEVERY @ A_27a
        @ ^ [V3x: A_27a] : ( c_2Emin_2E_3D_3D_3E @ ( V1P2 @ V3x ) @ ( V0P1 @ V3x ) )
        @ V2l ) ) ).

thf(thm_2Elist_2EFILTER__EQ__APPEND,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a,V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l )
        = ( c_2Elist_2EAPPEND @ A_27a @ V2l1 @ V3l2 ) )
    <=> ? [V4l3: tyop_2Elist_2Elist @ A_27a,V5l4: tyop_2Elist_2Elist @ A_27a] :
          ( ( V1l
            = ( c_2Elist_2EAPPEND @ A_27a @ V4l3 @ V5l4 ) )
          & ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V4l3 )
            = V2l1 )
          & ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V5l4 )
            = V3l2 ) ) ) ).

thf(thm_2Elist_2EMEM,axiom,
    ! [A_27a: $tType] :
      ( ! [V0x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) ) )
          = c_2Ebool_2EF )
      & ! [V1x: A_27a,V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) ) )
        <=> ( ( V1x = V2h )
            | ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V3t ) ) ) ) ) ).

thf(thm_2Elist_2EFILTER__APPEND__DISTRIB,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1L: tyop_2Elist_2Elist @ A_27a,V2M: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ ( c_2Elist_2EAPPEND @ A_27a @ V1L @ V2M ) )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1L ) @ ( c_2Elist_2EFILTER @ A_27a @ V0P @ V2M ) ) ) ).

thf(thm_2Elist_2EFILTER__EQ__CONS,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a,V2h: A_27a,V3lr: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l )
        = ( c_2Elist_2ECONS @ A_27a @ V2h @ V3lr ) )
    <=> ? [V4l1: tyop_2Elist_2Elist @ A_27a,V5l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( V1l
            = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V4l1 @ ( c_2Elist_2ECONS @ A_27a @ V2h @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V5l2 ) )
          & ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V4l1 )
            = ( c_2Elist_2ENIL @ A_27a ) )
          & ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V5l2 )
            = V3lr )
          & ( V0P @ V2h ) ) ) ).

thf(thm_2Elist_2EFILTER__NEQ__ID,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~)
        @ ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l )
          = V1l ) )
    <=> ? [V2x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) )
          & ( (~) @ ( V0P @ V2x ) ) ) ) ).

thf(thm_2Elist_2EFILTER__EQ__ID,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l )
        = V1l )
    <=> ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1l ) ) ).

thf(thm_2Elist_2EFILTER__NEQ__NIL,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~)
        @ ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l )
          = ( c_2Elist_2ENIL @ A_27a ) ) )
    <=> ? [V2x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) )
          & ( V0P @ V2x ) ) ) ).

thf(thm_2Elist_2EFILTER__EQ__NIL,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l )
        = ( c_2Elist_2ENIL @ A_27a ) )
    <=> ( c_2Elist_2EEVERY @ A_27a
        @ ^ [V2x: A_27a] : ( c_2Ebool_2E_7E @ ( V0P @ V2x ) )
        @ V1l ) ) ).

thf(thm_2Elist_2ELENGTH__TL,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
     => ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ETL @ A_27a @ V0l ) )
        = ( c_2Earithmetic_2E_2D @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ) ).

thf(thm_2Elist_2EFOLDR__CONS,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1ls: tyop_2Elist_2Elist @ A_27a,V2a: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2EFOLDR @ A_27a @ ( tyop_2Elist_2Elist @ A_27b )
        @ ^ [V3x: A_27a,V4y: tyop_2Elist_2Elist @ A_27b] : ( c_2Elist_2ECONS @ A_27b @ ( V0f @ V3x ) @ V4y )
        @ V2a
        @ V1ls )
      = ( c_2Elist_2EAPPEND @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V1ls ) @ V2a ) ) ).

thf(thm_2Elist_2EFOLDL__EQ__FOLDR,axiom,
    ! [A_27a: $tType,V0f: A_27a > A_27a > A_27a,V1l: tyop_2Elist_2Elist @ A_27a,V2e: A_27a] :
      ( ( ( c_2Ecombin_2EASSOC @ A_27a @ V0f )
        & ( c_2Ecombin_2ECOMM @ A_27a @ A_27a @ V0f ) )
     => ( ( c_2Elist_2EFOLDL @ A_27a @ A_27a @ V0f @ V2e @ V1l )
        = ( c_2Elist_2EFOLDR @ A_27a @ A_27a @ V0f @ V2e @ V1l ) ) ) ).

thf(thm_2Elist_2ELIST__EQ,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
          = ( c_2Elist_2ELENGTH @ A_27a @ V1l2 ) )
        & ! [V2x: tyop_2Enum_2Enum] :
            ( ( c_2Eprim__rec_2E_3C @ V2x @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) )
           => ( ( c_2Elist_2EEL @ A_27a @ V2x @ V0l1 )
              = ( c_2Elist_2EEL @ A_27a @ V2x @ V1l2 ) ) ) )
     => ( V0l1 = V1l2 ) ) ).

thf(thm_2Elist_2ELIST__EQ__REWRITE,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( V0l1 = V1l2 )
    <=> ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
          = ( c_2Elist_2ELENGTH @ A_27a @ V1l2 ) )
        & ! [V2x: tyop_2Enum_2Enum] :
            ( ( c_2Eprim__rec_2E_3C @ V2x @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) )
           => ( ( c_2Elist_2EEL @ A_27a @ V2x @ V0l1 )
              = ( c_2Elist_2EEL @ A_27a @ V2x @ V1l2 ) ) ) ) ) ).

thf(thm_2Elist_2EMEM__SPLIT,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) )
    <=> ? [V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27a] :
          ( V1l
          = ( c_2Elist_2EAPPEND @ A_27a @ V2l1 @ ( c_2Elist_2ECONS @ A_27a @ V0x @ V3l2 ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__EQ__SELF,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 )
            = V0l1 )
        <=> ( V1l2
            = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2EAPPEND @ A_27a @ V2l1 @ V3l2 )
            = V3l2 )
        <=> ( V2l1
            = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V4l1: tyop_2Elist_2Elist @ A_27a,V5l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( V4l1
            = ( c_2Elist_2EAPPEND @ A_27a @ V4l1 @ V5l2 ) )
        <=> ( V5l2
            = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V6l1: tyop_2Elist_2Elist @ A_27a,V7l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( V7l2
            = ( c_2Elist_2EAPPEND @ A_27a @ V6l1 @ V7l2 ) )
        <=> ( V6l1
            = ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__11__LENGTH,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2l1_27: tyop_2Elist_2Elist @ A_27a,V3l2_27: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
            = ( c_2Elist_2ELENGTH @ A_27a @ V2l1_27 ) )
         => ( ( ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 )
              = ( c_2Elist_2EAPPEND @ A_27a @ V2l1_27 @ V3l2_27 ) )
          <=> ( ( V0l1 = V2l1_27 )
              & ( V1l2 = V3l2_27 ) ) ) )
      & ! [V4l1: tyop_2Elist_2Elist @ A_27a,V5l2: tyop_2Elist_2Elist @ A_27a,V6l1_27: tyop_2Elist_2Elist @ A_27a,V7l2_27: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V5l2 )
            = ( c_2Elist_2ELENGTH @ A_27a @ V7l2_27 ) )
         => ( ( ( c_2Elist_2EAPPEND @ A_27a @ V4l1 @ V5l2 )
              = ( c_2Elist_2EAPPEND @ A_27a @ V6l1_27 @ V7l2_27 ) )
          <=> ( ( V4l1 = V6l1_27 )
              & ( V5l2 = V7l2_27 ) ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__LENGTH__EQ,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l1_27: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27a @ V1l1_27 ) )
     => ! [V2l2: tyop_2Elist_2Elist @ A_27a,V3l2_27: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V2l2 )
            = ( c_2Elist_2ELENGTH @ A_27a @ V3l2_27 ) )
         => ( ( ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V2l2 )
              = ( c_2Elist_2EAPPEND @ A_27a @ V1l1_27 @ V3l2_27 ) )
          <=> ( ( V0l1 = V1l1_27 )
              & ( V2l2 = V3l2_27 ) ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__11,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2l3: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 )
            = ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V2l3 ) )
        <=> ( V1l2 = V2l3 ) )
      & ! [V3l1: tyop_2Elist_2Elist @ A_27a,V4l2: tyop_2Elist_2Elist @ A_27a,V5l3: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2EAPPEND @ A_27a @ V4l2 @ V3l1 )
            = ( c_2Elist_2EAPPEND @ A_27a @ V5l3 @ V3l1 ) )
        <=> ( V4l2 = V5l3 ) ) ) ).

thf(thm_2Elist_2EAPPEND__EQ__SING,axiom,
    ! [A_27a: $tType,V0l2: tyop_2Elist_2Elist @ A_27a,V1l1: tyop_2Elist_2Elist @ A_27a,V2e: A_27a] :
      ( ( ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V0l2 )
        = ( c_2Elist_2ECONS @ A_27a @ V2e @ ( c_2Elist_2ENIL @ A_27a ) ) )
    <=> ( ( ( V1l1
            = ( c_2Elist_2ECONS @ A_27a @ V2e @ ( c_2Elist_2ENIL @ A_27a ) ) )
          & ( V0l2
            = ( c_2Elist_2ENIL @ A_27a ) ) )
        | ( ( V1l1
            = ( c_2Elist_2ENIL @ A_27a ) )
          & ( V0l2
            = ( c_2Elist_2ECONS @ A_27a @ V2e @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ) ) ).

thf(thm_2Elist_2EMAP__EQ__APPEND,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27b,V2l: tyop_2Elist_2Elist @ A_27a,V3f: A_27a > A_27b] :
      ( ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f @ V2l )
        = ( c_2Elist_2EAPPEND @ A_27b @ V1l1 @ V0l2 ) )
    <=> ? [V4l10: tyop_2Elist_2Elist @ A_27a,V5l20: tyop_2Elist_2Elist @ A_27a] :
          ( ( V2l
            = ( c_2Elist_2EAPPEND @ A_27a @ V4l10 @ V5l20 ) )
          & ( V1l1
            = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f @ V4l10 ) )
          & ( V0l2
            = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f @ V5l20 ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__eq__NIL,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ENIL @ A_27a )
            = ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
        <=> ( ( V0l1
              = ( c_2Elist_2ENIL @ A_27a ) )
            & ( V1l2
              = ( c_2Elist_2ENIL @ A_27a ) ) ) )
      & ! [V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2EAPPEND @ A_27a @ V2l1 @ V3l2 )
            = ( c_2Elist_2ENIL @ A_27a ) )
        <=> ( ( V2l1
              = ( c_2Elist_2ENIL @ A_27a ) )
            & ( V3l2
              = ( c_2Elist_2ENIL @ A_27a ) ) ) ) ) ).

thf(thm_2Elist_2ECONS__ACYCLIC,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1x: A_27a] :
      ( ( (~)
        @ ( V0l
          = ( c_2Elist_2ECONS @ A_27a @ V1x @ V0l ) ) )
      & ( (~)
        @ ( ( c_2Elist_2ECONS @ A_27a @ V1x @ V0l )
          = V0l ) ) ) ).

thf(thm_2Elist_2ELENGTH__EQ__NIL,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ! [V1l: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V1l )
            = c_2Enum_2E0 )
         => ( V0P @ V1l ) )
    <=> ( V0P @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ELENGTH__EQ__NUM__compute,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l )
            = c_2Enum_2E0 )
        <=> ( V0l
            = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V1l: tyop_2Elist_2Elist @ A_27a,V2n: tyop_2Enum_2Enum] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V1l )
            = ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V2n ) ) )
        <=> ? [V3h: A_27a,V4l_27: tyop_2Elist_2Elist @ A_27a] :
              ( ( ( c_2Elist_2ELENGTH @ A_27a @ V4l_27 )
                = ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V2n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) )
              & ( V1l
                = ( c_2Elist_2ECONS @ A_27a @ V3h @ V4l_27 ) ) ) )
      & ! [V5l: tyop_2Elist_2Elist @ A_27a,V6n: tyop_2Enum_2Enum] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V5l )
            = ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V6n ) ) )
        <=> ? [V7h: A_27a,V8l_27: tyop_2Elist_2Elist @ A_27a] :
              ( ( ( c_2Elist_2ELENGTH @ A_27a @ V8l_27 )
                = ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) )
              & ( V5l
                = ( c_2Elist_2ECONS @ A_27a @ V7h @ V8l_27 ) ) ) )
      & ! [V9l: tyop_2Elist_2Elist @ A_27a,V10n1: tyop_2Enum_2Enum,V11n2: tyop_2Enum_2Enum] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V9l )
            = ( c_2Earithmetic_2E_2B @ V10n1 @ V11n2 ) )
        <=> ? [V12l1: tyop_2Elist_2Elist @ A_27a,V13l2: tyop_2Elist_2Elist @ A_27a] :
              ( ( ( c_2Elist_2ELENGTH @ A_27a @ V12l1 )
                = V10n1 )
              & ( ( c_2Elist_2ELENGTH @ A_27a @ V13l2 )
                = V11n2 )
              & ( V9l
                = ( c_2Elist_2EAPPEND @ A_27a @ V12l1 @ V13l2 ) ) ) ) ) ).

thf(thm_2Elist_2ELENGTH__EQ__NUM,axiom,
    ! [A_27a: $tType] :
      ( ! [V0l: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l )
            = c_2Enum_2E0 )
        <=> ( V0l
            = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ! [V1l: tyop_2Elist_2Elist @ A_27a,V2n: tyop_2Enum_2Enum] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V1l )
            = ( c_2Enum_2ESUC @ V2n ) )
        <=> ? [V3h: A_27a,V4l_27: tyop_2Elist_2Elist @ A_27a] :
              ( ( ( c_2Elist_2ELENGTH @ A_27a @ V4l_27 )
                = V2n )
              & ( V1l
                = ( c_2Elist_2ECONS @ A_27a @ V3h @ V4l_27 ) ) ) )
      & ! [V5l: tyop_2Elist_2Elist @ A_27a,V6n1: tyop_2Enum_2Enum,V7n2: tyop_2Enum_2Enum] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V5l )
            = ( c_2Earithmetic_2E_2B @ V6n1 @ V7n2 ) )
        <=> ? [V8l1: tyop_2Elist_2Elist @ A_27a,V9l2: tyop_2Elist_2Elist @ A_27a] :
              ( ( ( c_2Elist_2ELENGTH @ A_27a @ V8l1 )
                = V6n1 )
              & ( ( c_2Elist_2ELENGTH @ A_27a @ V9l2 )
                = V7n2 )
              & ( V5l
                = ( c_2Elist_2EAPPEND @ A_27a @ V8l1 @ V9l2 ) ) ) ) ) ).

thf(thm_2Elist_2ELENGTH__EQ__SUM,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1n1: tyop_2Enum_2Enum,V2n2: tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l )
        = ( c_2Earithmetic_2E_2B @ V1n1 @ V2n2 ) )
    <=> ? [V3l1: tyop_2Elist_2Elist @ A_27a,V4l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V3l1 )
            = V1n1 )
          & ( ( c_2Elist_2ELENGTH @ A_27a @ V4l2 )
            = V2n2 )
          & ( V0l
            = ( c_2Elist_2EAPPEND @ A_27a @ V3l1 @ V4l2 ) ) ) ) ).

thf(thm_2Elist_2ELENGTH__EQ__CONS,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o,V1n: tyop_2Enum_2Enum] :
      ( ! [V2l: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V2l )
            = ( c_2Enum_2ESUC @ V1n ) )
         => ( V0P @ V2l ) )
    <=> ! [V3l: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V3l )
            = V1n )
         => ( ^ [V4l: tyop_2Elist_2Elist @ A_27a] :
                ( c_2Ebool_2E_21 @ A_27a
                @ ^ [V5x: A_27a] : ( V0P @ ( c_2Elist_2ECONS @ A_27a @ V5x @ V4l ) ) )
            @ V3l ) ) ) ).

thf(thm_2Elist_2ELENGTH__CONS,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l )
        = ( c_2Enum_2ESUC @ V1n ) )
    <=> ? [V2h: A_27a,V3l_27: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELENGTH @ A_27a @ V3l_27 )
            = V1n )
          & ( V0l
            = ( c_2Elist_2ECONS @ A_27a @ V2h @ V3l_27 ) ) ) ) ).

thf(thm_2Elist_2ENULL__LENGTH,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ENULL @ A_27a @ V0l )
    <=> ( ( c_2Elist_2ELENGTH @ A_27a @ V0l )
        = c_2Enum_2E0 ) ) ).

thf(thm_2Elist_2ENULL__EQ,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ENULL @ A_27a @ V0l )
    <=> ( V0l
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ELENGTH__NIL__SYM,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Enum_2E0
        = ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
    <=> ( V0l
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ELENGTH__NIL,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l )
        = c_2Enum_2E0 )
    <=> ( V0l
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2EMEM__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1f: A_27a > A_27b,V2x: A_27b] :
      ( ( c_2Ebool_2EIN @ A_27b @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V0l ) ) )
    <=> ? [V3y: A_27a] :
          ( ( V2x
            = ( V1f @ V3y ) )
          & ( c_2Ebool_2EIN @ A_27a @ V3y @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) ) ) ) ).

thf(thm_2Elist_2ENOT__EXISTS,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~) @ ( c_2Elist_2EEXISTS @ A_27a @ V0P @ V1l ) )
    <=> ( c_2Elist_2EEVERY @ A_27a @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) @ V1l ) ) ).

thf(thm_2Elist_2ENOT__EVERY,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~) @ ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1l ) )
    <=> ( c_2Elist_2EEXISTS @ A_27a @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) @ V1l ) ) ).

thf(thm_2Elist_2EEXISTS__APPEND,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27a @ V0P @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V2l2 ) )
    <=> ( ( c_2Elist_2EEXISTS @ A_27a @ V0P @ V1l1 )
        | ( c_2Elist_2EEXISTS @ A_27a @ V0P @ V2l2 ) ) ) ).

thf(thm_2Elist_2EEVERY__APPEND,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V2l2 ) )
    <=> ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1l1 )
        & ( c_2Elist_2EEVERY @ A_27a @ V0P @ V2l2 ) ) ) ).

thf(thm_2Elist_2EFLAT__compute,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0t2: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27c ),V1t1: tyop_2Elist_2Elist @ A_27c,V2t: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27b ),V3h: A_27c] :
      ( ( ( c_2Elist_2EFLAT @ A_27a @ ( c_2Elist_2ENIL @ ( tyop_2Elist_2Elist @ A_27a ) ) )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ( ( c_2Elist_2EFLAT @ A_27b @ ( c_2Elist_2ECONS @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2ENIL @ A_27b ) @ V2t ) )
        = ( c_2Elist_2EFLAT @ A_27b @ V2t ) )
      & ( ( c_2Elist_2EFLAT @ A_27c @ ( c_2Elist_2ECONS @ ( tyop_2Elist_2Elist @ A_27c ) @ ( c_2Elist_2ECONS @ A_27c @ V3h @ V1t1 ) @ V0t2 ) )
        = ( c_2Elist_2ECONS @ A_27c @ V3h @ ( c_2Elist_2EFLAT @ A_27c @ ( c_2Elist_2ECONS @ ( tyop_2Elist_2Elist @ A_27c ) @ V1t1 @ V0t2 ) ) ) ) ) ).

thf(thm_2Elist_2EFLAT__APPEND,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a ),V1l2: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Elist_2EFLAT @ A_27a @ ( c_2Elist_2EAPPEND @ ( tyop_2Elist_2Elist @ A_27a ) @ V0l1 @ V1l2 ) )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EFLAT @ A_27a @ V0l1 ) @ ( c_2Elist_2EFLAT @ A_27a @ V1l2 ) ) ) ).

thf(thm_2Elist_2EMEM__FLAT,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1L: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EFLAT @ A_27a @ V1L ) ) )
    <=> ? [V2l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Ebool_2EIN @ ( tyop_2Elist_2Elist @ A_27a ) @ V2l @ ( c_2Elist_2ELIST__TO__SET @ ( tyop_2Elist_2Elist @ A_27a ) @ V1L ) )
          & ( c_2Ebool_2EIN @ A_27a @ V0x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2l ) ) ) ) ).

thf(thm_2Elist_2EMEM__FILTER,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1L: tyop_2Elist_2Elist @ A_27a,V2x: A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1L ) ) )
    <=> ( ( V0P @ V2x )
        & ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1L ) ) ) ) ).

thf(thm_2Elist_2EMEM__APPEND,axiom,
    ! [A_27a: $tType,V0e: A_27a,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V0e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V2l2 ) ) )
    <=> ( ( c_2Ebool_2EIN @ A_27a @ V0e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l1 ) )
        | ( c_2Ebool_2EIN @ A_27a @ V0e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2l2 ) ) ) ) ).

thf(thm_2Elist_2EEXISTS__NOT__EVERY,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27a @ V0P @ V1l )
    <=> ( (~)
        @ ( c_2Elist_2EEVERY @ A_27a
          @ ^ [V2x: A_27a] : ( c_2Ebool_2E_7E @ ( V0P @ V2x ) )
          @ V1l ) ) ) ).

thf(thm_2Elist_2EEVERY__NOT__EXISTS,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1l )
    <=> ( (~)
        @ ( c_2Elist_2EEXISTS @ A_27a
          @ ^ [V2x: A_27a] : ( c_2Ebool_2E_7E @ ( V0P @ V2x ) )
          @ V1l ) ) ) ).

thf(thm_2Elist_2EMONO__EXISTS,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1Q: A_27a > $o,V2P: A_27a > $o] :
      ( ! [V3x: A_27a] :
          ( ( V2P @ V3x )
         => ( V1Q @ V3x ) )
     => ( ( c_2Elist_2EEXISTS @ A_27a @ V2P @ V0l )
       => ( c_2Elist_2EEXISTS @ A_27a @ V1Q @ V0l ) ) ) ).

thf(thm_2Elist_2EEXISTS__SIMP,axiom,
    ! [A_27a: $tType,V0c: $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27a
        @ ^ [V2x: A_27a] : V0c
        @ V1l )
    <=> ( ( (~)
          @ ( V1l
            = ( c_2Elist_2ENIL @ A_27a ) ) )
        & V0c ) ) ).

thf(thm_2Elist_2EEXISTS__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0P: A_27b > $o,V1f: A_27a > A_27b,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27b @ V0P @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V2l ) )
      = ( c_2Elist_2EEXISTS @ A_27a
        @ ^ [V3x: A_27a] : ( V0P @ ( V1f @ V3x ) )
        @ V2l ) ) ).

thf(thm_2Elist_2EEXISTS__MEM,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27a @ V0P @ V1l )
    <=> ? [V2e: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V2e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) )
          & ( V0P @ V2e ) ) ) ).

thf(thm_2Elist_2EMONO__EVERY,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1Q: A_27a > $o,V2P: A_27a > $o] :
      ( ! [V3x: A_27a] :
          ( ( V2P @ V3x )
         => ( V1Q @ V3x ) )
     => ( ( c_2Elist_2EEVERY @ A_27a @ V2P @ V0l )
       => ( c_2Elist_2EEVERY @ A_27a @ V1Q @ V0l ) ) ) ).

thf(thm_2Elist_2EEVERY__SIMP,axiom,
    ! [A_27a: $tType,V0c: $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a
        @ ^ [V2x: A_27a] : V0c
        @ V1l )
    <=> ( ( V1l
          = ( c_2Elist_2ENIL @ A_27a ) )
        | V0c ) ) ).

thf(thm_2Elist_2EEVERY__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0P: A_27b > $o,V1f: A_27a > A_27b,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27b @ V0P @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V2l ) )
      = ( c_2Elist_2EEVERY @ A_27a
        @ ^ [V3x: A_27a] : ( V0P @ ( V1f @ V3x ) )
        @ V2l ) ) ).

thf(thm_2Elist_2EEVERY__MEM,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1l )
    <=> ! [V2e: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V2e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l ) )
         => ( V0P @ V2e ) ) ) ).

thf(thm_2Elist_2EEVERY__CONJ,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1Q: A_27a > $o,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a
        @ ^ [V3x: A_27a] : ( c_2Ebool_2E_2F_5C @ ( V0P @ V3x ) @ ( V1Q @ V3x ) )
        @ V2l )
    <=> ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ V2l )
        & ( c_2Elist_2EEVERY @ A_27a @ V1Q @ V2l ) ) ) ).

thf(thm_2Elist_2EEVERY__EL,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1P: A_27a > $o] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V1P @ V0l )
    <=> ! [V2n: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2E_3C @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
         => ( V1P @ ( c_2Elist_2EEL @ A_27a @ V2n @ V0l ) ) ) ) ).

thf(thm_2Elist_2EMAP__TL,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1f: A_27a > A_27b] :
      ( ( (~) @ ( c_2Elist_2ENULL @ A_27a @ V0l ) )
     => ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ ( c_2Elist_2ETL @ A_27a @ V0l ) )
        = ( c_2Elist_2ETL @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V0l ) ) ) ) ).

thf(thm_2Elist_2EEL__APPEND__EQN,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EEL @ A_27a @ V2n @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
      = ( c_2Ebool_2ECOND @ A_27a @ ( c_2Eprim__rec_2E_3C @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) ) @ ( c_2Elist_2EEL @ A_27a @ V2n @ V0l1 ) @ ( c_2Elist_2EEL @ A_27a @ ( c_2Earithmetic_2E_2D @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) ) @ V1l2 ) ) ) ).

thf(thm_2Elist_2EEL__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) )
     => ! [V2f: A_27a > A_27b] :
          ( ( c_2Elist_2EEL @ A_27b @ V0n @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V2f @ V1l ) )
          = ( V2f @ ( c_2Elist_2EEL @ A_27a @ V0n @ V1l ) ) ) ) ).

thf(thm_2Elist_2EMAP__MAP__o,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27b > A_27c,V1g: A_27a > A_27b,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EMAP @ A_27b @ A_27c @ V0f @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1g @ V2l ) )
      = ( c_2Elist_2EMAP @ A_27a @ A_27c @ ( c_2Ecombin_2Eo @ A_27a @ A_27c @ A_27b @ V0f @ V1g ) @ V2l ) ) ).

thf(thm_2Elist_2EMAP__o,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27b > A_27c,V1g: A_27a > A_27b] :
      ( ( c_2Elist_2EMAP @ A_27a @ A_27c @ ( c_2Ecombin_2Eo @ A_27a @ A_27c @ A_27b @ V0f @ V1g ) )
      = ( c_2Ecombin_2Eo @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27c ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EMAP @ A_27b @ A_27c @ V0f ) @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1g ) ) ) ).

thf(thm_2Elist_2EMAP__EQ__f,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f1: A_27a > A_27b,V1f2: A_27a > A_27b,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f1 @ V2l )
        = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f2 @ V2l ) )
    <=> ! [V3e: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V3e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2l ) )
         => ( ( V0f1 @ V3e )
            = ( V1f2 @ V3e ) ) ) ) ).

thf(thm_2Elist_2EMAP__EQ__SING,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: A_27b,V1l: tyop_2Elist_2Elist @ A_27a,V2f: A_27a > A_27b] :
      ( ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V2f @ V1l )
        = ( c_2Elist_2ECONS @ A_27b @ V0x @ ( c_2Elist_2ENIL @ A_27b ) ) )
    <=> ? [V3x0: A_27a] :
          ( ( V1l
            = ( c_2Elist_2ECONS @ A_27a @ V3x0 @ ( c_2Elist_2ENIL @ A_27a ) ) )
          & ( V0x
            = ( V2f @ V3x0 ) ) ) ) ).

thf(thm_2Elist_2EMAP__EQ__CONS,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0t: tyop_2Elist_2Elist @ A_27b,V1l: tyop_2Elist_2Elist @ A_27a,V2h: A_27b,V3f: A_27a > A_27b] :
      ( ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f @ V1l )
        = ( c_2Elist_2ECONS @ A_27b @ V2h @ V0t ) )
    <=> ? [V4x0: A_27a,V5t0: tyop_2Elist_2Elist @ A_27a] :
          ( ( V1l
            = ( c_2Elist_2ECONS @ A_27a @ V4x0 @ V5t0 ) )
          & ( V2h
            = ( V3f @ V4x0 ) )
          & ( V0t
            = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f @ V5t0 ) ) ) ) ).

thf(thm_2Elist_2EMAP__EQ__NIL,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1f: A_27a > A_27b] :
      ( ( ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V0l )
          = ( c_2Elist_2ENIL @ A_27b ) )
      <=> ( V0l
          = ( c_2Elist_2ENIL @ A_27a ) ) )
      & ( ( ( c_2Elist_2ENIL @ A_27b )
          = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V0l ) )
      <=> ( V0l
          = ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2ELENGTH__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1f: A_27a > A_27b] :
      ( ( c_2Elist_2ELENGTH @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V0l ) )
      = ( c_2Elist_2ELENGTH @ A_27a @ V0l ) ) ).

thf(thm_2Elist_2EMAP__ID,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EMAP @ A_27a @ A_27a
          @ ^ [V1x: A_27a] : V1x
          @ V0l )
        = V0l )
      & ( ( c_2Elist_2EMAP @ A_27a @ A_27a @ ( c_2Ecombin_2EI @ A_27a ) @ V0l )
        = V0l ) ) ).

thf(thm_2Elist_2EMAP__APPEND,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V2l2 ) )
      = ( c_2Elist_2EAPPEND @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V1l1 ) @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V2l2 ) ) ) ).

thf(thm_2Elist_2ELENGTH__APPEND,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
      = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) @ ( c_2Elist_2ELENGTH @ A_27a @ V1l2 ) ) ) ).

thf(thm_2Elist_2EAPPEND__ASSOC,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2l3: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ ( c_2Elist_2EAPPEND @ A_27a @ V1l2 @ V2l3 ) )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) @ V2l3 ) ) ).

thf(thm_2Elist_2EAPPEND__NIL,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EAPPEND @ A_27a @ V0l @ ( c_2Elist_2ENIL @ A_27a ) )
      = V0l ) ).

thf(thm_2Elist_2ECONS,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~) @ ( c_2Elist_2ENULL @ A_27a @ V0l ) )
     => ( ( c_2Elist_2ECONS @ A_27a @ ( c_2Elist_2EHD @ A_27a @ V0l ) @ ( c_2Elist_2ETL @ A_27a @ V0l ) )
        = V0l ) ) ).

thf(thm_2Elist_2EEQ__LIST,axiom,
    ! [A_27a: $tType,V0h1: A_27a,V1h2: A_27a] :
      ( ( V0h1 = V1h2 )
     => ! [V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27a] :
          ( ( V2l1 = V3l2 )
         => ( ( c_2Elist_2ECONS @ A_27a @ V0h1 @ V2l1 )
            = ( c_2Elist_2ECONS @ A_27a @ V1h2 @ V3l2 ) ) ) ) ).

thf(thm_2Elist_2ENOT__EQ__LIST,axiom,
    ! [A_27a: $tType,V0h1: A_27a,V1h2: A_27a] :
      ( ( (~) @ ( V0h1 = V1h2 ) )
     => ! [V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27a] :
          ( (~)
          @ ( ( c_2Elist_2ECONS @ A_27a @ V0h1 @ V2l1 )
            = ( c_2Elist_2ECONS @ A_27a @ V1h2 @ V3l2 ) ) ) ) ).

thf(thm_2Elist_2ELIST__NOT__EQ,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~) @ ( V0l1 = V1l2 ) )
     => ! [V2h1: A_27a,V3h2: A_27a] :
          ( (~)
          @ ( ( c_2Elist_2ECONS @ A_27a @ V2h1 @ V0l1 )
            = ( c_2Elist_2ECONS @ A_27a @ V3h2 @ V1l2 ) ) ) ) ).

thf(thm_2Elist_2ENOT__CONS__NIL,axiom,
    ! [A_27a: $tType,V0a1: tyop_2Elist_2Elist @ A_27a,V1a0: A_27a] :
      ( (~)
      @ ( ( c_2Elist_2ECONS @ A_27a @ V1a0 @ V0a1 )
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ENOT__NIL__CONS,axiom,
    ! [A_27a: $tType,V0a1: tyop_2Elist_2Elist @ A_27a,V1a0: A_27a] :
      ( (~)
      @ ( ( c_2Elist_2ENIL @ A_27a )
        = ( c_2Elist_2ECONS @ A_27a @ V1a0 @ V0a1 ) ) ) ).

thf(thm_2Elist_2ECONS__11,axiom,
    ! [A_27a: $tType,V0a0: A_27a,V1a1: tyop_2Elist_2Elist @ A_27a,V2a0_27: A_27a,V3a1_27: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2ECONS @ A_27a @ V0a0 @ V1a1 )
        = ( c_2Elist_2ECONS @ A_27a @ V2a0_27 @ V3a1_27 ) )
    <=> ( ( V0a0 = V2a0_27 )
        & ( V1a1 = V3a1_27 ) ) ) ).

thf(thm_2Elist_2Elist__case__compute,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b,V1b: A_27b,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2Elist__CASE @ A_27a @ A_27b @ V2l @ V1b @ V0f )
      = ( c_2Ebool_2ECOND @ A_27b @ ( c_2Elist_2ENULL @ A_27a @ V2l ) @ V1b @ ( V0f @ ( c_2Elist_2EHD @ A_27a @ V2l ) @ ( c_2Elist_2ETL @ A_27a @ V2l ) ) ) ) ).

thf(thm_2Elist_2Elist__nchotomy,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( V0l
        = ( c_2Elist_2ENIL @ A_27a ) )
      | ? [V1h: A_27a,V2t: tyop_2Elist_2Elist @ A_27a] :
          ( V0l
          = ( c_2Elist_2ECONS @ A_27a @ V1h @ V2t ) ) ) ).

thf(thm_2Elist_2Elist__distinct,axiom,
    ! [A_27a: $tType,V0a1: tyop_2Elist_2Elist @ A_27a,V1a0: A_27a] :
      ( (~)
      @ ( ( c_2Elist_2ENIL @ A_27a )
        = ( c_2Elist_2ECONS @ A_27a @ V1a0 @ V0a1 ) ) ) ).

thf(thm_2Elist_2Elist__11,axiom,
    ! [A_27a: $tType,V0a0: A_27a,V1a1: tyop_2Elist_2Elist @ A_27a,V2a0_27: A_27a,V3a1_27: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2ECONS @ A_27a @ V0a0 @ V1a1 )
        = ( c_2Elist_2ECONS @ A_27a @ V2a0_27 @ V3a1_27 ) )
    <=> ( ( V0a0 = V2a0_27 )
        & ( V1a1 = V3a1_27 ) ) ) ).

thf(thm_2Elist_2Edatatype__list,axiom,
    ! [A_27a: $tType,V0list: ( tyop_2Elist_2Elist @ A_27a ) > ( A_27a > ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) > $o] : ( c_2Ebool_2EDATATYPE @ $o @ ( V0list @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a ) ) ) ).

thf(thm_2Elist_2Elist__case__cong,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0v_27: A_27b,V1f_27: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b,V2M: tyop_2Elist_2Elist @ A_27a,V3M_27: tyop_2Elist_2Elist @ A_27a,V4v: A_27b,V5f: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
      ( ( ( V2M = V3M_27 )
        & ( ( V3M_27
            = ( c_2Elist_2ENIL @ A_27a ) )
         => ( V4v = V0v_27 ) )
        & ! [V6a0: A_27a,V7a1: tyop_2Elist_2Elist @ A_27a] :
            ( ( V3M_27
              = ( c_2Elist_2ECONS @ A_27a @ V6a0 @ V7a1 ) )
           => ( ( V5f @ V6a0 @ V7a1 )
              = ( V1f_27 @ V6a0 @ V7a1 ) ) ) )
     => ( ( c_2Elist_2Elist__CASE @ A_27a @ A_27b @ V2M @ V4v @ V5f )
        = ( c_2Elist_2Elist__CASE @ A_27a @ A_27b @ V3M_27 @ V0v_27 @ V1f_27 ) ) ) ).

thf(thm_2Elist_2Elist__case__eq,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: tyop_2Elist_2Elist @ A_27a,V1v_27: A_27b,V2v: A_27b,V3f: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
      ( ( ( c_2Elist_2Elist__CASE @ A_27a @ A_27b @ V0x @ V2v @ V3f )
        = V1v_27 )
    <=> ( ( ( V0x
            = ( c_2Elist_2ENIL @ A_27a ) )
          & ( V2v = V1v_27 ) )
        | ? [V4a: A_27a,V5l: tyop_2Elist_2Elist @ A_27a] :
            ( ( V0x
              = ( c_2Elist_2ECONS @ A_27a @ V4a @ V5l ) )
            & ( ( V3f @ V4a @ V5l )
              = V1v_27 ) ) ) ) ).

thf(thm_2Elist_2Elist__Axiom__old,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: A_27b,V1f: A_27b > A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
      ( c_2Ebool_2E_3F_21 @ ( ( tyop_2Elist_2Elist @ A_27a ) > A_27b )
      @ ^ [V2fn1: ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
          ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ A_27b @ ( V2fn1 @ ( c_2Elist_2ENIL @ A_27a ) ) @ V0x )
          @ ( c_2Ebool_2E_21 @ A_27a
            @ ^ [V3h: A_27a] :
                ( c_2Ebool_2E_21 @ ( tyop_2Elist_2Elist @ A_27a )
                @ ^ [V4t: tyop_2Elist_2Elist @ A_27a] : ( c_2Emin_2E_3D @ A_27b @ ( V2fn1 @ ( c_2Elist_2ECONS @ A_27a @ V3h @ V4t ) ) @ ( V1f @ ( V2fn1 @ V4t ) @ V3h @ V4t ) ) ) ) ) ) ).

thf(thm_2Elist_2ETL,axiom,
    ! [A_27a: $tType,V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ETL @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) )
      = V1t ) ).

thf(thm_2Elist_2ELIST__TO__SET,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0t: tyop_2Elist_2Elist @ A_27b,V1h: A_27b] :
      ( ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = ( c_2Epred__set_2EEMPTY @ A_27a ) )
      & ( ( c_2Elist_2ELIST__TO__SET @ A_27b @ ( c_2Elist_2ECONS @ A_27b @ V1h @ V0t ) )
        = ( c_2Epred__set_2EINSERT @ A_27b @ V1h @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ V0t ) ) ) ) ).

thf(thm_2Elist_2EMAP2__ind,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0P: ( A_27b > A_27c > A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27c ) > $o] :
      ( ( ! [V1f: A_27b > A_27c > A_27a,V2h1: A_27b,V3t1: tyop_2Elist_2Elist @ A_27b,V4h2: A_27c,V5t2: tyop_2Elist_2Elist @ A_27c] :
            ( ( V0P @ V1f @ V3t1 @ V5t2 )
           => ( V0P @ V1f @ ( c_2Elist_2ECONS @ A_27b @ V2h1 @ V3t1 ) @ ( c_2Elist_2ECONS @ A_27c @ V4h2 @ V5t2 ) ) )
        & ! [V6f: A_27b > A_27c > A_27a,V7y: tyop_2Elist_2Elist @ A_27c] : ( V0P @ V6f @ ( c_2Elist_2ENIL @ A_27b ) @ V7y )
        & ! [V8f: A_27b > A_27c > A_27a,V9v4: A_27b,V10v5: tyop_2Elist_2Elist @ A_27b] : ( V0P @ V8f @ ( c_2Elist_2ECONS @ A_27b @ V9v4 @ V10v5 ) @ ( c_2Elist_2ENIL @ A_27c ) ) )
     => ! [V11v: A_27b > A_27c > A_27a,V12v1: tyop_2Elist_2Elist @ A_27b,V13v2: tyop_2Elist_2Elist @ A_27c] : ( V0P @ V11v @ V12v1 @ V13v2 ) ) ).

thf(thm_2Elist_2EMAP2__DEF,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType] :
      ( ! [V0t2: tyop_2Elist_2Elist @ A_27c,V1t1: tyop_2Elist_2Elist @ A_27b,V2h2: A_27c,V3h1: A_27b,V4f: A_27b > A_27c > A_27a] :
          ( ( c_2Elist_2EMAP2 @ A_27a @ A_27b @ A_27c @ V4f @ ( c_2Elist_2ECONS @ A_27b @ V3h1 @ V1t1 ) @ ( c_2Elist_2ECONS @ A_27c @ V2h2 @ V0t2 ) )
          = ( c_2Elist_2ECONS @ A_27a @ ( V4f @ V3h1 @ V2h2 ) @ ( c_2Elist_2EMAP2 @ A_27a @ A_27b @ A_27c @ V4f @ V1t1 @ V0t2 ) ) )
      & ! [V5y: tyop_2Elist_2Elist @ A_27c,V6f: A_27b > A_27c > A_27a] :
          ( ( c_2Elist_2EMAP2 @ A_27a @ A_27b @ A_27c @ V6f @ ( c_2Elist_2ENIL @ A_27b ) @ V5y )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V7v5: tyop_2Elist_2Elist @ A_27b,V8v4: A_27b,V9f: A_27b > A_27c > A_27a] :
          ( ( c_2Elist_2EMAP2 @ A_27a @ A_27b @ A_27c @ V9f @ ( c_2Elist_2ECONS @ A_27b @ V8v4 @ V7v5 ) @ ( c_2Elist_2ENIL @ A_27c ) )
          = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2EMAP2,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,A_27e: $tType,A_27f: $tType] :
      ( ! [V0f: A_27a > A_27b > A_27c] :
          ( ( c_2Elist_2EMAP2 @ A_27c @ A_27a @ A_27b @ V0f @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27b ) )
          = ( c_2Elist_2ENIL @ A_27c ) )
      & ! [V1f: A_27d > A_27e > A_27f,V2h1: A_27d,V3t1: tyop_2Elist_2Elist @ A_27d,V4h2: A_27e,V5t2: tyop_2Elist_2Elist @ A_27e] :
          ( ( c_2Elist_2EMAP2 @ A_27f @ A_27d @ A_27e @ V1f @ ( c_2Elist_2ECONS @ A_27d @ V2h1 @ V3t1 ) @ ( c_2Elist_2ECONS @ A_27e @ V4h2 @ V5t2 ) )
          = ( c_2Elist_2ECONS @ A_27f @ ( V1f @ V2h1 @ V4h2 ) @ ( c_2Elist_2EMAP2 @ A_27f @ A_27d @ A_27e @ V1f @ V3t1 @ V5t2 ) ) ) ) ).

thf(thm_2Elist_2EMAP2__NIL,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0x: tyop_2Elist_2Elist @ A_27b,V1f: A_27b > A_27c > A_27a] :
      ( ( c_2Elist_2EMAP2 @ A_27a @ A_27b @ A_27c @ V1f @ V0x @ ( c_2Elist_2ENIL @ A_27c ) )
      = ( c_2Elist_2ENIL @ A_27a ) ) ).

thf(thm_2Elist_2ELENGTH__MAP2,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27a > A_27b > A_27c,V1xs: tyop_2Elist_2Elist @ A_27a,V2ys: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELENGTH @ A_27c @ ( c_2Elist_2EMAP2 @ A_27c @ A_27a @ A_27b @ V0f @ V1xs @ V2ys ) )
      = ( c_2Earithmetic_2EMIN @ ( c_2Elist_2ELENGTH @ A_27a @ V1xs ) @ ( c_2Elist_2ELENGTH @ A_27b @ V2ys ) ) ) ).

thf(thm_2Elist_2EEL__MAP2,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27a > A_27b > A_27c,V1ts: tyop_2Elist_2Elist @ A_27a,V2tt: tyop_2Elist_2Elist @ A_27b,V3n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V3n @ ( c_2Earithmetic_2EMIN @ ( c_2Elist_2ELENGTH @ A_27a @ V1ts ) @ ( c_2Elist_2ELENGTH @ A_27b @ V2tt ) ) )
     => ( ( c_2Elist_2EEL @ A_27c @ V3n @ ( c_2Elist_2EMAP2 @ A_27c @ A_27a @ A_27b @ V0f @ V1ts @ V2tt ) )
        = ( V0f @ ( c_2Elist_2EEL @ A_27a @ V3n @ V1ts ) @ ( c_2Elist_2EEL @ A_27b @ V3n @ V2tt ) ) ) ) ).

thf(thm_2Elist_2ENULL,axiom,
    ! [A_27a: $tType] :
      ( ( c_2Elist_2ENULL @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V0h: A_27a,V1t: tyop_2Elist_2Elist @ A_27a] : ( (~) @ ( c_2Elist_2ENULL @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0h @ V1t ) ) ) ) ).

thf(thm_2Elist_2Elist__INDUCT0,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ( ( V0P @ ( c_2Elist_2ENIL @ A_27a ) )
        & ! [V1l: tyop_2Elist_2Elist @ A_27a] :
            ( ( V0P @ V1l )
           => ! [V2a: A_27a] : ( V0P @ ( c_2Elist_2ECONS @ A_27a @ V2a @ V1l ) ) ) )
     => ! [V3l: tyop_2Elist_2Elist @ A_27a] : ( V0P @ V3l ) ) ).

thf(thm_2Elist_2Elist__INDUCT,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ( ( V0P @ ( c_2Elist_2ENIL @ A_27a ) )
        & ! [V1t: tyop_2Elist_2Elist @ A_27a] :
            ( ( V0P @ V1t )
           => ! [V2h: A_27a] : ( V0P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V1t ) ) ) )
     => ! [V3l: tyop_2Elist_2Elist @ A_27a] : ( V0P @ V3l ) ) ).

thf(thm_2Elist_2Elist__Axiom,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f0: A_27b,V1f1: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b > A_27b] :
    ? [V2fn: ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
      ( ( ( V2fn @ ( c_2Elist_2ENIL @ A_27a ) )
        = V0f0 )
      & ! [V3a0: A_27a,V4a1: tyop_2Elist_2Elist @ A_27a] :
          ( ( V2fn @ ( c_2Elist_2ECONS @ A_27a @ V3a0 @ V4a1 ) )
          = ( V1f1 @ V3a0 @ V4a1 @ ( V2fn @ V4a1 ) ) ) ) ).

thf(thm_2Elist_2Elist__induction,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ( ( V0P @ ( c_2Elist_2ENIL @ A_27a ) )
        & ! [V1t: tyop_2Elist_2Elist @ A_27a] :
            ( ( V0P @ V1t )
           => ! [V2h: A_27a] : ( V0P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V1t ) ) ) )
     => ! [V3l: tyop_2Elist_2Elist @ A_27a] : ( V0P @ V3l ) ) ).

thf(thm_2Elist_2ELIST__REL__EL__EQN,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V1l1 @ V2l2 )
    <=> ( ( ( c_2Elist_2ELENGTH @ A_27a @ V1l1 )
          = ( c_2Elist_2ELENGTH @ A_27b @ V2l2 ) )
        & ! [V3n: tyop_2Enum_2Enum] :
            ( ( c_2Eprim__rec_2E_3C @ V3n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) )
           => ( V0R @ ( c_2Elist_2EEL @ A_27a @ V3n @ V1l1 ) @ ( c_2Elist_2EEL @ A_27b @ V3n @ V2l2 ) ) ) ) ) ).

thf(thm_2Elist_2ELIST__REL__cases,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1a0: tyop_2Elist_2Elist @ A_27a,V2a1: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V1a0 @ V2a1 )
    <=> ( ( ( V1a0
            = ( c_2Elist_2ENIL @ A_27a ) )
          & ( V2a1
            = ( c_2Elist_2ENIL @ A_27b ) ) )
        | ? [V3h1: A_27a,V4h2: A_27b,V5t1: tyop_2Elist_2Elist @ A_27a,V6t2: tyop_2Elist_2Elist @ A_27b] :
            ( ( V1a0
              = ( c_2Elist_2ECONS @ A_27a @ V3h1 @ V5t1 ) )
            & ( V2a1
              = ( c_2Elist_2ECONS @ A_27b @ V4h2 @ V6t2 ) )
            & ( V0R @ V3h1 @ V4h2 )
            & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V5t1 @ V6t2 ) ) ) ) ).

thf(thm_2Elist_2ELIST__REL__strongind,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1LIST__REL_27: ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) > $o] :
      ( ( ( V1LIST__REL_27 @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27b ) )
        & ! [V2h1: A_27a,V3h2: A_27b,V4t1: tyop_2Elist_2Elist @ A_27a,V5t2: tyop_2Elist_2Elist @ A_27b] :
            ( ( ( V0R @ V2h1 @ V3h2 )
              & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V4t1 @ V5t2 )
              & ( V1LIST__REL_27 @ V4t1 @ V5t2 ) )
           => ( V1LIST__REL_27 @ ( c_2Elist_2ECONS @ A_27a @ V2h1 @ V4t1 ) @ ( c_2Elist_2ECONS @ A_27b @ V3h2 @ V5t2 ) ) ) )
     => ! [V6a0: tyop_2Elist_2Elist @ A_27a,V7a1: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V6a0 @ V7a1 )
         => ( V1LIST__REL_27 @ V6a0 @ V7a1 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__ind,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1LIST__REL_27: ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27b ) > $o] :
      ( ( ( V1LIST__REL_27 @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27b ) )
        & ! [V2h1: A_27a,V3h2: A_27b,V4t1: tyop_2Elist_2Elist @ A_27a,V5t2: tyop_2Elist_2Elist @ A_27b] :
            ( ( ( V0R @ V2h1 @ V3h2 )
              & ( V1LIST__REL_27 @ V4t1 @ V5t2 ) )
           => ( V1LIST__REL_27 @ ( c_2Elist_2ECONS @ A_27a @ V2h1 @ V4t1 ) @ ( c_2Elist_2ECONS @ A_27b @ V3h2 @ V5t2 ) ) ) )
     => ! [V6a0: tyop_2Elist_2Elist @ A_27a,V7a1: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V6a0 @ V7a1 )
         => ( V1LIST__REL_27 @ V6a0 @ V7a1 ) ) ) ).

thf(thm_2Elist_2ELIST__REL__rules,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27b ) )
      & ! [V1h1: A_27a,V2h2: A_27b,V3t1: tyop_2Elist_2Elist @ A_27a,V4t2: tyop_2Elist_2Elist @ A_27b] :
          ( ( ( V0R @ V1h1 @ V2h2 )
            & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V3t1 @ V4t2 ) )
         => ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ ( c_2Elist_2ECONS @ A_27a @ V1h1 @ V3t1 ) @ ( c_2Elist_2ECONS @ A_27b @ V2h2 @ V4t2 ) ) ) ) ).

thf(thm_2Elist_2Elist__CASES,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( V0l
        = ( c_2Elist_2ENIL @ A_27a ) )
      | ? [V1h: A_27a,V2t: tyop_2Elist_2Elist @ A_27a] :
          ( V0l
          = ( c_2Elist_2ECONS @ A_27a @ V1h @ V2t ) ) ) ).

thf(thm_2Elist_2EFORALL__LIST,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ! [V1l: tyop_2Elist_2Elist @ A_27a] : ( V0P @ V1l )
    <=> ( ( V0P @ ( c_2Elist_2ENIL @ A_27a ) )
        & ! [V2h: A_27a,V3t: tyop_2Elist_2Elist @ A_27a] : ( V0P @ ( c_2Elist_2ECONS @ A_27a @ V2h @ V3t ) ) ) ) ).

thf(thm_2Elist_2EMEM__SPLIT__APPEND__first,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1e: A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V1e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) )
    <=> ? [V2pfx: tyop_2Elist_2Elist @ A_27a,V3sfx: tyop_2Elist_2Elist @ A_27a] :
          ( ( V0l
            = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V2pfx @ ( c_2Elist_2ECONS @ A_27a @ V1e @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V3sfx ) )
          & ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V1e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2pfx ) ) ) ) ) ).

thf(thm_2Elist_2EMEM__SPLIT__APPEND__last,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1e: A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V1e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) )
    <=> ? [V2pfx: tyop_2Elist_2Elist @ A_27a,V3sfx: tyop_2Elist_2Elist @ A_27a] :
          ( ( V0l
            = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V2pfx @ ( c_2Elist_2ECONS @ A_27a @ V1e @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V3sfx ) )
          & ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V1e @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V3sfx ) ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__EQ__APPEND,axiom,
    ! [A_27a: $tType,V0m2: tyop_2Elist_2Elist @ A_27a,V1m1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a,V3l1: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EAPPEND @ A_27a @ V3l1 @ V2l2 )
        = ( c_2Elist_2EAPPEND @ A_27a @ V1m1 @ V0m2 ) )
    <=> ( ? [V4l: tyop_2Elist_2Elist @ A_27a] :
            ( ( V3l1
              = ( c_2Elist_2EAPPEND @ A_27a @ V1m1 @ V4l ) )
            & ( V0m2
              = ( c_2Elist_2EAPPEND @ A_27a @ V4l @ V2l2 ) ) )
        | ? [V5l: tyop_2Elist_2Elist @ A_27a] :
            ( ( V1m1
              = ( c_2Elist_2EAPPEND @ A_27a @ V3l1 @ V5l ) )
            & ( V2l2
              = ( c_2Elist_2EAPPEND @ A_27a @ V5l @ V0m2 ) ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__EQ__CONS,axiom,
    ! [A_27a: $tType,V0t: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2l1: tyop_2Elist_2Elist @ A_27a,V3h: A_27a] :
      ( ( ( c_2Elist_2EAPPEND @ A_27a @ V2l1 @ V1l2 )
        = ( c_2Elist_2ECONS @ A_27a @ V3h @ V0t ) )
    <=> ( ( ( V2l1
            = ( c_2Elist_2ENIL @ A_27a ) )
          & ( V1l2
            = ( c_2Elist_2ECONS @ A_27a @ V3h @ V0t ) ) )
        | ? [V4lt: tyop_2Elist_2Elist @ A_27a] :
            ( ( V2l1
              = ( c_2Elist_2ECONS @ A_27a @ V3h @ V4lt ) )
            & ( V0t
              = ( c_2Elist_2EAPPEND @ A_27a @ V4lt @ V1l2 ) ) ) ) ) ).

thf(thm_2Elist_2EAPPEND__EQ__APPEND__MID,axiom,
    ! [A_27a: $tType,V0m2: tyop_2Elist_2Elist @ A_27a,V1m1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a,V3l1: tyop_2Elist_2Elist @ A_27a,V4e: A_27a] :
      ( ( ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V3l1 @ ( c_2Elist_2ECONS @ A_27a @ V4e @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V2l2 )
        = ( c_2Elist_2EAPPEND @ A_27a @ V1m1 @ V0m2 ) )
    <=> ( ? [V5l: tyop_2Elist_2Elist @ A_27a] :
            ( ( V1m1
              = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V3l1 @ ( c_2Elist_2ECONS @ A_27a @ V4e @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V5l ) )
            & ( V2l2
              = ( c_2Elist_2EAPPEND @ A_27a @ V5l @ V0m2 ) ) )
        | ? [V6l: tyop_2Elist_2Elist @ A_27a] :
            ( ( V3l1
              = ( c_2Elist_2EAPPEND @ A_27a @ V1m1 @ V6l ) )
            & ( V0m2
              = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V6l @ ( c_2Elist_2ECONS @ A_27a @ V4e @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V2l2 ) ) ) ) ) ).

thf(thm_2Elist_2ELUPDATE__NIL,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum,V2x: A_27a] :
      ( ( ( c_2Elist_2ELUPDATE @ A_27a @ V2x @ V1n @ V0xs )
        = ( c_2Elist_2ENIL @ A_27a ) )
    <=> ( V0xs
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ELUPDATE__SEM,axiom,
    ! [A_27a: $tType] :
      ( ! [V0e: A_27a,V1n: tyop_2Enum_2Enum,V2l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ELUPDATE @ A_27a @ V0e @ V1n @ V2l ) )
          = ( c_2Elist_2ELENGTH @ A_27a @ V2l ) )
      & ! [V3e: A_27a,V4n: tyop_2Enum_2Enum,V5l: tyop_2Elist_2Elist @ A_27a,V6p: tyop_2Enum_2Enum] :
          ( ( c_2Eprim__rec_2E_3C @ V6p @ ( c_2Elist_2ELENGTH @ A_27a @ V5l ) )
         => ( ( c_2Elist_2EEL @ A_27a @ V6p @ ( c_2Elist_2ELUPDATE @ A_27a @ V3e @ V4n @ V5l ) )
            = ( c_2Ebool_2ECOND @ A_27a @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V6p @ V4n ) @ V3e @ ( c_2Elist_2EEL @ A_27a @ V6p @ V5l ) ) ) ) ) ).

thf(thm_2Elist_2EEL__LUPDATE,axiom,
    ! [A_27a: $tType,V0ys: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2i: tyop_2Enum_2Enum,V3k: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EEL @ A_27a @ V2i @ ( c_2Elist_2ELUPDATE @ A_27a @ V1x @ V3k @ V0ys ) )
      = ( c_2Ebool_2ECOND @ A_27a @ ( c_2Ebool_2E_2F_5C @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V2i @ V3k ) @ ( c_2Eprim__rec_2E_3C @ V3k @ ( c_2Elist_2ELENGTH @ A_27a @ V0ys ) ) ) @ V1x @ ( c_2Elist_2EEL @ A_27a @ V2i @ V0ys ) ) ) ).

thf(thm_2Elist_2ELENGTH__LUPDATE,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1n: tyop_2Enum_2Enum,V2ys: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ELUPDATE @ A_27a @ V0x @ V1n @ V2ys ) )
      = ( c_2Elist_2ELENGTH @ A_27a @ V2ys ) ) ).

thf(thm_2Elist_2ELUPDATE__LENGTH,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2y: A_27a,V3ys: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELUPDATE @ A_27a @ V1x @ ( c_2Elist_2ELENGTH @ A_27a @ V0xs ) @ ( c_2Elist_2EAPPEND @ A_27a @ V0xs @ ( c_2Elist_2ECONS @ A_27a @ V2y @ V3ys ) ) )
      = ( c_2Elist_2EAPPEND @ A_27a @ V0xs @ ( c_2Elist_2ECONS @ A_27a @ V1x @ V3ys ) ) ) ).

thf(thm_2Elist_2ELUPDATE__SNOC,axiom,
    ! [A_27a: $tType,V0ys: tyop_2Elist_2Elist @ A_27a,V1k: tyop_2Enum_2Enum,V2x: A_27a,V3y: A_27a] :
      ( ( c_2Elist_2ELUPDATE @ A_27a @ V2x @ V1k @ ( c_2Elist_2ESNOC @ A_27a @ V3y @ V0ys ) )
      = ( c_2Ebool_2ECOND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1k @ ( c_2Elist_2ELENGTH @ A_27a @ V0ys ) ) @ ( c_2Elist_2ESNOC @ A_27a @ V2x @ V0ys ) @ ( c_2Elist_2ESNOC @ A_27a @ V3y @ ( c_2Elist_2ELUPDATE @ A_27a @ V2x @ V1k @ V0ys ) ) ) ) ).

thf(thm_2Elist_2EMEM__LUPDATE__E,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2y: A_27a,V3i: tyop_2Enum_2Enum] :
      ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ELUPDATE @ A_27a @ V2y @ V3i @ V0l ) ) )
     => ( ( V1x = V2y )
        | ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) ) ) ) ).

thf(thm_2Elist_2EMEM__LUPDATE,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2y: A_27a,V3i: tyop_2Enum_2Enum] :
      ( ( c_2Ebool_2EIN @ A_27a @ V1x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2ELUPDATE @ A_27a @ V2y @ V3i @ V0l ) ) )
    <=> ( ( ( c_2Eprim__rec_2E_3C @ V3i @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
          & ( V1x = V2y ) )
        | ? [V4j: tyop_2Enum_2Enum] :
            ( ( c_2Eprim__rec_2E_3C @ V4j @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
            & ( (~) @ ( V3i = V4j ) )
            & ( ( c_2Elist_2EEL @ A_27a @ V4j @ V0l )
              = V1x ) ) ) ) ).

thf(thm_2Elist_2ELUPDATE__compute,axiom,
    ! [A_27a: $tType] :
      ( ! [V0e: A_27a,V1n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2ELUPDATE @ A_27a @ V0e @ V1n @ ( c_2Elist_2ENIL @ A_27a ) )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V2e: A_27a,V3x: A_27a,V4l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELUPDATE @ A_27a @ V2e @ c_2Enum_2E0 @ ( c_2Elist_2ECONS @ A_27a @ V3x @ V4l ) )
          = ( c_2Elist_2ECONS @ A_27a @ V2e @ V4l ) )
      & ! [V5e: A_27a,V6n: tyop_2Enum_2Enum,V7x: A_27a,V8l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELUPDATE @ A_27a @ V5e @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) @ ( c_2Elist_2ECONS @ A_27a @ V7x @ V8l ) )
          = ( c_2Elist_2ECONS @ A_27a @ V7x @ ( c_2Elist_2ELUPDATE @ A_27a @ V5e @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V8l ) ) )
      & ! [V9e: A_27a,V10n: tyop_2Enum_2Enum,V11x: A_27a,V12l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ELUPDATE @ A_27a @ V9e @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V10n ) ) @ ( c_2Elist_2ECONS @ A_27a @ V11x @ V12l ) )
          = ( c_2Elist_2ECONS @ A_27a @ V11x @ ( c_2Elist_2ELUPDATE @ A_27a @ V9e @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V10n ) ) @ V12l ) ) ) ) ).

thf(thm_2Elist_2ELUPDATE__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1n: tyop_2Enum_2Enum,V2l: tyop_2Elist_2Elist @ A_27a,V3f: A_27a > A_27b] :
      ( ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f @ ( c_2Elist_2ELUPDATE @ A_27a @ V0x @ V1n @ V2l ) )
      = ( c_2Elist_2ELUPDATE @ A_27b @ ( V3f @ V0x ) @ V1n @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V3f @ V2l ) ) ) ).

thf(thm_2Elist_2EsplitAtPki__APPEND,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a,V2P: tyop_2Enum_2Enum > A_27a > $o,V3k: ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) > A_27b] :
      ( ( ( c_2Elist_2EEVERYi @ A_27a
          @ ^ [V4i: tyop_2Enum_2Enum] : ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ ( V2P @ V4i ) )
          @ V0l1 )
        & ( ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ ( c_2Elist_2ELENGTH @ A_27a @ V1l2 ) )
         => ( V2P @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) @ ( c_2Elist_2EHD @ A_27a @ V1l2 ) ) ) )
     => ( ( c_2Elist_2EsplitAtPki @ A_27b @ A_27a @ V2P @ V3k @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
        = ( V3k @ V0l1 @ V1l2 ) ) ) ).

thf(thm_2Elist_2EsplitAtPki__EQN,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27b,V1k: ( tyop_2Elist_2Elist @ A_27b ) > ( tyop_2Elist_2Elist @ A_27b ) > A_27a,V2P: tyop_2Enum_2Enum > A_27b > $o] :
      ( ( c_2Elist_2EsplitAtPki @ A_27a @ A_27b @ V2P @ V1k @ V0l )
      = ( c_2Eoption_2Eoption__CASE @ tyop_2Enum_2Enum @ A_27a
        @ ( c_2Ewhile_2EOLEAST
          @ ^ [V3i: tyop_2Enum_2Enum] : ( c_2Ebool_2E_2F_5C @ ( c_2Eprim__rec_2E_3C @ V3i @ ( c_2Elist_2ELENGTH @ A_27b @ V0l ) ) @ ( V2P @ V3i @ ( c_2Elist_2EEL @ A_27b @ V3i @ V0l ) ) ) )
        @ ( V1k @ V0l @ ( c_2Elist_2ENIL @ A_27b ) )
        @ ^ [V4i: tyop_2Enum_2Enum] : ( V1k @ ( c_2Elist_2ETAKE @ A_27b @ V4i @ V0l ) @ ( c_2Elist_2EDROP @ A_27b @ V4i @ V0l ) ) ) ) ).

thf(thm_2Elist_2ETAKE__LENGTH__TOO__LONG,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Earithmetic_2E_3C_3D @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) @ V1n )
     => ( ( c_2Elist_2ETAKE @ A_27a @ V1n @ V0l )
        = V0l ) ) ).

thf(thm_2Elist_2EDROP__LENGTH__TOO__LONG,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Earithmetic_2E_3C_3D @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) @ V1n )
     => ( ( c_2Elist_2EDROP @ A_27a @ V1n @ V0l )
        = ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ETAKE__splitAtPki,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ETAKE @ A_27a @ V0n @ V1l )
      = ( c_2Elist_2EsplitAtPki @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ ( A_27a > $o ) @ $o @ ( c_2Ecombin_2EK @ $o @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V0n ) ) @ ( c_2Ecombin_2EK @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27a ) ) @ V1l ) ) ).

thf(thm_2Elist_2EDROP__splitAtPki,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EDROP @ A_27a @ V0n @ V1l )
      = ( c_2Elist_2EsplitAtPki @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ ( c_2Ecombin_2Eo @ tyop_2Enum_2Enum @ ( A_27a > $o ) @ $o @ ( c_2Ecombin_2EK @ $o @ A_27a ) @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V0n ) ) @ ( c_2Ecombin_2EK @ ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Ecombin_2EI @ ( tyop_2Elist_2Elist @ A_27a ) ) ) @ V1l ) ) ).

thf(thm_2Elist_2ELIST__BIND__THM,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0t: tyop_2Elist_2Elist @ A_27b,V1h: A_27b,V2f: A_27b > ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ ( c_2Elist_2ENIL @ A_27b ) @ V2f )
        = ( c_2Elist_2ENIL @ A_27a ) )
      & ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ ( c_2Elist_2ECONS @ A_27b @ V1h @ V0t ) @ V2f )
        = ( c_2Elist_2EAPPEND @ A_27a @ ( V2f @ V1h ) @ ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ V0t @ V2f ) ) ) ) ).

thf(thm_2Elist_2ELIST__BIND__ID,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( ( c_2Elist_2ELIST__BIND @ A_27a @ ( tyop_2Elist_2Elist @ A_27a ) @ V0l
          @ ^ [V1x: tyop_2Elist_2Elist @ A_27a] : V1x )
        = ( c_2Elist_2EFLAT @ A_27a @ V0l ) )
      & ( ( c_2Elist_2ELIST__BIND @ A_27a @ ( tyop_2Elist_2Elist @ A_27a ) @ V0l @ ( c_2Ecombin_2EI @ ( tyop_2Elist_2Elist @ A_27a ) ) )
        = ( c_2Elist_2EFLAT @ A_27a @ V0l ) ) ) ).

thf(thm_2Elist_2ELIST__BIND__APPEND,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27b,V2f: A_27b > ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ ( c_2Elist_2EAPPEND @ A_27b @ V1l1 @ V0l2 ) @ V2f )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ V1l1 @ V2f ) @ ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ V0l2 @ V2f ) ) ) ).

thf(thm_2Elist_2ELIST__BIND__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l: tyop_2Elist_2Elist @ A_27c,V1g: A_27b > ( tyop_2Elist_2Elist @ A_27a ),V2f: A_27c > A_27b] :
      ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ ( c_2Elist_2EMAP @ A_27c @ A_27b @ V2f @ V0l ) @ V1g )
      = ( c_2Elist_2ELIST__BIND @ A_27a @ A_27c @ V0l @ ( c_2Ecombin_2Eo @ A_27c @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27b @ V1g @ V2f ) ) ) ).

thf(thm_2Elist_2EMAP__LIST__BIND,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l: tyop_2Elist_2Elist @ A_27c,V1g: A_27c > ( tyop_2Elist_2Elist @ A_27b ),V2f: A_27b > A_27a] :
      ( ( c_2Elist_2EMAP @ A_27b @ A_27a @ V2f @ ( c_2Elist_2ELIST__BIND @ A_27b @ A_27c @ V0l @ V1g ) )
      = ( c_2Elist_2ELIST__BIND @ A_27a @ A_27c @ V0l @ ( c_2Ecombin_2Eo @ A_27c @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EMAP @ A_27b @ A_27a @ V2f ) @ V1g ) ) ) ).

thf(thm_2Elist_2ELIST__BIND__LIST__BIND,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0l: tyop_2Elist_2Elist @ A_27c,V1g: A_27c > ( tyop_2Elist_2Elist @ A_27b ),V2f: A_27b > ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ ( c_2Elist_2ELIST__BIND @ A_27b @ A_27c @ V0l @ V1g ) @ V2f )
      = ( c_2Elist_2ELIST__BIND @ A_27a @ A_27c @ V0l @ ( c_2Ecombin_2Eo @ A_27c @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Ecombin_2EC @ ( tyop_2Elist_2Elist @ A_27b ) @ ( A_27b > ( tyop_2Elist_2Elist @ A_27a ) ) @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b ) @ V2f ) @ V1g ) ) ) ).

thf(thm_2Elist_2ESINGL__LIST__APPLY__L,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: A_27b,V1f: A_27b > ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27b @ ( c_2Elist_2ECONS @ A_27b @ V0x @ ( c_2Elist_2ENIL @ A_27b ) ) @ V1f )
      = ( V1f @ V0x ) ) ).

thf(thm_2Elist_2ESINGL__LIST__APPLY__R,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELIST__BIND @ A_27a @ A_27a @ V0l
        @ ^ [V1x: A_27a] : ( c_2Elist_2ECONS @ A_27a @ V1x @ ( c_2Elist_2ENIL @ A_27a ) ) )
      = V0l ) ).

thf(thm_2Elist_2ESINGL__APPLY__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ A_27b,V1f: A_27b > A_27a] :
      ( ( c_2Elist_2ELIST__APPLY @ A_27a @ A_27b @ ( c_2Elist_2ECONS @ ( A_27b > A_27a ) @ V1f @ ( c_2Elist_2ENIL @ ( A_27b > A_27a ) ) ) @ V0l )
      = ( c_2Elist_2EMAP @ A_27b @ A_27a @ V1f @ V0l ) ) ).

thf(thm_2Elist_2ESINGL__SINGL__APPLY,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: A_27b,V1f: A_27b > A_27a] :
      ( ( c_2Elist_2ELIST__APPLY @ A_27a @ A_27b @ ( c_2Elist_2ECONS @ ( A_27b > A_27a ) @ V1f @ ( c_2Elist_2ENIL @ ( A_27b > A_27a ) ) ) @ ( c_2Elist_2ECONS @ A_27b @ V0x @ ( c_2Elist_2ENIL @ A_27b ) ) )
      = ( c_2Elist_2ECONS @ A_27a @ ( V1f @ V0x ) @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ESINGL__APPLY__PERMUTE,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: A_27b,V1fs: tyop_2Elist_2Elist @ ( A_27b > A_27a )] :
      ( ( c_2Elist_2ELIST__APPLY @ A_27a @ A_27b @ V1fs @ ( c_2Elist_2ECONS @ A_27b @ V0x @ ( c_2Elist_2ENIL @ A_27b ) ) )
      = ( c_2Elist_2ELIST__APPLY @ A_27a @ ( A_27b > A_27a )
        @ ( c_2Elist_2ECONS @ ( ( A_27b > A_27a ) > A_27a )
          @ ^ [V2f: A_27b > A_27a] : ( V2f @ V0x )
          @ ( c_2Elist_2ENIL @ ( ( A_27b > A_27a ) > A_27a ) ) )
        @ V1fs ) ) ).

thf(thm_2Elist_2EMAP__FLAT,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27b ),V1f: A_27b > A_27a] :
      ( ( c_2Elist_2EMAP @ A_27b @ A_27a @ V1f @ ( c_2Elist_2EFLAT @ A_27b @ V0l ) )
      = ( c_2Elist_2EFLAT @ A_27a @ ( c_2Elist_2EMAP @ ( tyop_2Elist_2Elist @ A_27b ) @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2EMAP @ A_27b @ A_27a @ V1f ) @ V0l ) ) ) ).

thf(thm_2Elist_2ELIST__APPLY__o,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0xs: tyop_2Elist_2Elist @ A_27b,V1gs: tyop_2Elist_2Elist @ ( A_27b > A_27c ),V2fs: tyop_2Elist_2Elist @ ( A_27c > A_27a )] :
      ( ( c_2Elist_2ELIST__APPLY @ A_27a @ A_27b @ ( c_2Elist_2ELIST__APPLY @ ( A_27b > A_27a ) @ ( A_27b > A_27c ) @ ( c_2Elist_2ELIST__APPLY @ ( ( A_27b > A_27c ) > A_27b > A_27a ) @ ( A_27c > A_27a ) @ ( c_2Elist_2ECONS @ ( ( A_27c > A_27a ) > ( A_27b > A_27c ) > A_27b > A_27a ) @ ( c_2Ecombin_2Eo @ A_27b @ A_27a @ A_27c ) @ ( c_2Elist_2ENIL @ ( ( A_27c > A_27a ) > ( A_27b > A_27c ) > A_27b > A_27a ) ) ) @ V2fs ) @ V1gs ) @ V0xs )
      = ( c_2Elist_2ELIST__APPLY @ A_27a @ A_27c @ V2fs @ ( c_2Elist_2ELIST__APPLY @ A_27c @ A_27b @ V1gs @ V0xs ) ) ) ).

thf(thm_2Elist_2ESHORTLEX__THM,axiom,
    ! [A_27a: $tType,V0t2: tyop_2Elist_2Elist @ A_27a,V1t1: tyop_2Elist_2Elist @ A_27a,V2h2: A_27a,V3h1: A_27a,V4R: A_27a > A_27a > $o] :
      ( ( (~) @ ( c_2Elist_2ESHORTLEX @ A_27a @ V4R @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27a ) ) )
      & ( (~) @ ( c_2Elist_2ESHORTLEX @ A_27a @ V4R @ ( c_2Elist_2ECONS @ A_27a @ V3h1 @ V1t1 ) @ ( c_2Elist_2ENIL @ A_27a ) ) )
      & ( c_2Elist_2ESHORTLEX @ A_27a @ V4R @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a @ V2h2 @ V0t2 ) )
      & ( ( c_2Elist_2ESHORTLEX @ A_27a @ V4R @ ( c_2Elist_2ECONS @ A_27a @ V3h1 @ V1t1 ) @ ( c_2Elist_2ECONS @ A_27a @ V2h2 @ V0t2 ) )
      <=> ( ( c_2Eprim__rec_2E_3C @ ( c_2Elist_2ELENGTH @ A_27a @ V1t1 ) @ ( c_2Elist_2ELENGTH @ A_27a @ V0t2 ) )
          | ( ( ( c_2Elist_2ELENGTH @ A_27a @ V1t1 )
              = ( c_2Elist_2ELENGTH @ A_27a @ V0t2 ) )
            & ( ( V4R @ V3h1 @ V2h2 )
              | ( ( V3h1 = V2h2 )
                & ( c_2Elist_2ESHORTLEX @ A_27a @ V4R @ V1t1 @ V0t2 ) ) ) ) ) ) ) ).

thf(thm_2Elist_2ESHORTLEX__MONO,axiom,
    ! [A_27a: $tType,V0y: tyop_2Elist_2Elist @ A_27a,V1x: tyop_2Elist_2Elist @ A_27a,V2R2: A_27a > A_27a > $o,V3R1: A_27a > A_27a > $o] :
      ( ! [V4x: A_27a,V5y: A_27a] :
          ( ( V3R1 @ V4x @ V5y )
         => ( V2R2 @ V4x @ V5y ) )
     => ( ( c_2Elist_2ESHORTLEX @ A_27a @ V3R1 @ V1x @ V0y )
       => ( c_2Elist_2ESHORTLEX @ A_27a @ V2R2 @ V1x @ V0y ) ) ) ).

thf(thm_2Elist_2ESHORTLEX__NIL2,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1R: A_27a > A_27a > $o] : ( (~) @ ( c_2Elist_2ESHORTLEX @ A_27a @ V1R @ V0l @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ESHORTLEX__transitive,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Erelation_2Etransitive @ A_27a @ V0R )
     => ( c_2Erelation_2Etransitive @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ESHORTLEX @ A_27a @ V0R ) ) ) ).

thf(thm_2Elist_2ELENGTH__LT__SHORTLEX,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) @ ( c_2Elist_2ELENGTH @ A_27a @ V2l2 ) )
     => ( c_2Elist_2ESHORTLEX @ A_27a @ V0R @ V1l1 @ V2l2 ) ) ).

thf(thm_2Elist_2ESHORTLEX__LENGTH__LE,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ESHORTLEX @ A_27a @ V0R @ V1l1 @ V2l2 )
     => ( c_2Earithmetic_2E_3C_3D @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) @ ( c_2Elist_2ELENGTH @ A_27a @ V2l2 ) ) ) ).

thf(thm_2Elist_2ESHORTLEX__total,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Erelation_2Etotal @ A_27a @ ( c_2Erelation_2ERC @ A_27a @ V0R ) )
     => ( c_2Erelation_2Etotal @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Erelation_2ERC @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ESHORTLEX @ A_27a @ V0R ) ) ) ) ).

thf(thm_2Elist_2EWF__SHORTLEX__same__lengths,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Erelation_2EWF @ A_27a @ V0R )
     => ! [V1l: tyop_2Enum_2Enum,V2s: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
          ( ( ! [V3d: tyop_2Elist_2Elist @ A_27a] :
                ( ( c_2Ebool_2EIN @ ( tyop_2Elist_2Elist @ A_27a ) @ V3d @ V2s )
               => ( ( c_2Elist_2ELENGTH @ A_27a @ V3d )
                  = V1l ) )
            & ? [V4a: tyop_2Elist_2Elist @ A_27a] : ( c_2Ebool_2EIN @ ( tyop_2Elist_2Elist @ A_27a ) @ V4a @ V2s ) )
         => ? [V5b: tyop_2Elist_2Elist @ A_27a] :
              ( ( c_2Ebool_2EIN @ ( tyop_2Elist_2Elist @ A_27a ) @ V5b @ V2s )
              & ! [V6c: tyop_2Elist_2Elist @ A_27a] :
                  ( ( c_2Elist_2ESHORTLEX @ A_27a @ V0R @ V6c @ V5b )
                 => ( (~) @ ( c_2Ebool_2EIN @ ( tyop_2Elist_2Elist @ A_27a ) @ V6c @ V2s ) ) ) ) ) ) ).

thf(thm_2Elist_2EWF__SHORTLEX,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Erelation_2EWF @ A_27a @ V0R )
     => ( c_2Erelation_2EWF @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ESHORTLEX @ A_27a @ V0R ) ) ) ).

thf(thm_2Elist_2ELLEX__THM,axiom,
    ! [A_27a: $tType,V0t2: tyop_2Elist_2Elist @ A_27a,V1t1: tyop_2Elist_2Elist @ A_27a,V2h2: A_27a,V3h1: A_27a,V4R: A_27a > A_27a > $o] :
      ( ( (~) @ ( c_2Elist_2ELLEX @ A_27a @ V4R @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ENIL @ A_27a ) ) )
      & ( (~) @ ( c_2Elist_2ELLEX @ A_27a @ V4R @ ( c_2Elist_2ECONS @ A_27a @ V3h1 @ V1t1 ) @ ( c_2Elist_2ENIL @ A_27a ) ) )
      & ( c_2Elist_2ELLEX @ A_27a @ V4R @ ( c_2Elist_2ENIL @ A_27a ) @ ( c_2Elist_2ECONS @ A_27a @ V2h2 @ V0t2 ) )
      & ( ( c_2Elist_2ELLEX @ A_27a @ V4R @ ( c_2Elist_2ECONS @ A_27a @ V3h1 @ V1t1 ) @ ( c_2Elist_2ECONS @ A_27a @ V2h2 @ V0t2 ) )
      <=> ( ( V4R @ V3h1 @ V2h2 )
          | ( ( V3h1 = V2h2 )
            & ( c_2Elist_2ELLEX @ A_27a @ V4R @ V1t1 @ V0t2 ) ) ) ) ) ).

thf(thm_2Elist_2ELLEX__MONO,axiom,
    ! [A_27a: $tType,V0y: tyop_2Elist_2Elist @ A_27a,V1x: tyop_2Elist_2Elist @ A_27a,V2R2: A_27a > A_27a > $o,V3R1: A_27a > A_27a > $o] :
      ( ! [V4x: A_27a,V5y: A_27a] :
          ( ( V3R1 @ V4x @ V5y )
         => ( V2R2 @ V4x @ V5y ) )
     => ( ( c_2Elist_2ELLEX @ A_27a @ V3R1 @ V1x @ V0y )
       => ( c_2Elist_2ELLEX @ A_27a @ V2R2 @ V1x @ V0y ) ) ) ).

thf(thm_2Elist_2ELLEX__CONG,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a,V3R_27: A_27a > A_27a > $o,V4l1_27: tyop_2Elist_2Elist @ A_27a,V5l2_27: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( V1l1 = V4l1_27 )
        & ( V2l2 = V5l2_27 )
        & ! [V6a: A_27a,V7b: A_27a] :
            ( ( ( c_2Ebool_2EIN @ A_27a @ V6a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V4l1_27 ) )
              & ( c_2Ebool_2EIN @ A_27a @ V7b @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V5l2_27 ) ) )
           => ( ( V0R @ V6a @ V7b )
              = ( V3R_27 @ V6a @ V7b ) ) ) )
     => ( ( c_2Elist_2ELLEX @ A_27a @ V0R @ V1l1 @ V2l2 )
        = ( c_2Elist_2ELLEX @ A_27a @ V3R_27 @ V4l1_27 @ V5l2_27 ) ) ) ).

thf(thm_2Elist_2ELLEX__NIL2,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1R: A_27a > A_27a > $o] : ( (~) @ ( c_2Elist_2ELLEX @ A_27a @ V1R @ V0l @ ( c_2Elist_2ENIL @ A_27a ) ) ) ).

thf(thm_2Elist_2ELLEX__transitive,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Erelation_2Etransitive @ A_27a @ V0R )
     => ( c_2Erelation_2Etransitive @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ELLEX @ A_27a @ V0R ) ) ) ).

thf(thm_2Elist_2ELLEX__total,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ( c_2Erelation_2Etotal @ A_27a @ ( c_2Erelation_2ERC @ A_27a @ V0R ) )
     => ( c_2Erelation_2Etotal @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Erelation_2ERC @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ELLEX @ A_27a @ V0R ) ) ) ) ).

thf(thm_2Elist_2ELLEX__not__WF,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ? [V1a: A_27a,V2b: A_27a] : ( V0R @ V1a @ V2b )
     => ( (~) @ ( c_2Erelation_2EWF @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ELLEX @ A_27a @ V0R ) ) ) ) ).

thf(thm_2Elist_2ELLEX__EL__THM,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELLEX @ A_27a @ V0R @ V1l1 @ V2l2 )
    <=> ? [V3n: tyop_2Enum_2Enum] :
          ( ( c_2Earithmetic_2E_3C_3D @ V3n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) )
          & ( c_2Eprim__rec_2E_3C @ V3n @ ( c_2Elist_2ELENGTH @ A_27a @ V2l2 ) )
          & ( ( c_2Elist_2ETAKE @ A_27a @ V3n @ V1l1 )
            = ( c_2Elist_2ETAKE @ A_27a @ V3n @ V2l2 ) )
          & ( ( c_2Eprim__rec_2E_3C @ V3n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) )
           => ( V0R @ ( c_2Elist_2EEL @ A_27a @ V3n @ V1l1 ) @ ( c_2Elist_2EEL @ A_27a @ V3n @ V2l2 ) ) ) ) ) ).

thf(thm_2Elist_2Enub__set,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2Enub @ A_27a @ V0l ) )
      = ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l ) ) ).

thf(thm_2Elist_2Eall__distinct__nub,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a] : ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2Enub @ A_27a @ V0l ) ) ).

thf(thm_2Elist_2Enub__append,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2Enub @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) )
      = ( c_2Elist_2EAPPEND @ A_27a
        @ ( c_2Elist_2Enub @ A_27a
          @ ( c_2Elist_2EFILTER @ A_27a
            @ ^ [V2x: A_27a] : ( c_2Ebool_2E_7E @ ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) ) )
            @ V0l1 ) )
        @ ( c_2Elist_2Enub @ A_27a @ V1l2 ) ) ) ).

thf(thm_2Elist_2Elist__to__set__diff,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Epred__set_2EDIFF @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1l2 ) @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l1 ) )
      = ( c_2Elist_2ELIST__TO__SET @ A_27a
        @ ( c_2Elist_2EFILTER @ A_27a
          @ ^ [V2x: A_27a] : ( c_2Ebool_2E_7E @ ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l1 ) ) )
          @ V1l2 ) ) ) ).

thf(thm_2Elist_2Elength__nub__append,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2Enub @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ V1l2 ) ) )
      = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2Enub @ A_27a @ V0l1 ) )
        @ ( c_2Elist_2ELENGTH @ A_27a
          @ ( c_2Elist_2Enub @ A_27a
            @ ( c_2Elist_2EFILTER @ A_27a
              @ ^ [V2x: A_27a] : ( c_2Ebool_2E_7E @ ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0l1 ) ) )
              @ V1l2 ) ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__DROP,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0ls )
     => ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EDROP @ A_27a @ V1n @ V0ls ) ) ) ).

thf(thm_2Elist_2EEXISTS__LIST__EQ__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1f: A_27b > A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a
        @ ^ [V2x: A_27a] :
            ( c_2Ebool_2E_3F @ A_27b
            @ ^ [V3y: A_27b] : ( c_2Emin_2E_3D @ A_27a @ V2x @ ( V1f @ V3y ) ) )
        @ V0ls )
     => ? [V4l: tyop_2Elist_2Elist @ A_27b] :
          ( V0ls
          = ( c_2Elist_2EMAP @ A_27b @ A_27a @ V1f @ V4l ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__FLAT,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EFLAT @ A_27a @ V0ls ) )
      = ( c_2Epred__set_2EBIGUNION @ A_27a @ ( c_2Elist_2ELIST__TO__SET @ ( A_27a > $o ) @ ( c_2Elist_2EMAP @ ( tyop_2Elist_2Elist @ A_27a ) @ ( A_27a > $o ) @ ( c_2Elist_2ELIST__TO__SET @ A_27a ) @ V0ls ) ) ) ) ).

thf(thm_2Elist_2EMEM__APPEND__lemma,axiom,
    ! [A_27a: $tType,V0a: tyop_2Elist_2Elist @ A_27a,V1b: tyop_2Elist_2Elist @ A_27a,V2c: tyop_2Elist_2Elist @ A_27a,V3d: tyop_2Elist_2Elist @ A_27a,V4x: A_27a] :
      ( ( ( ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0a @ ( c_2Elist_2ECONS @ A_27a @ V4x @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V1b )
          = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V2c @ ( c_2Elist_2ECONS @ A_27a @ V4x @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V3d ) )
        & ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V4x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1b ) ) )
        & ( (~) @ ( c_2Ebool_2EIN @ A_27a @ V4x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0a ) ) ) )
     => ( ( V0a = V2c )
        & ( V1b = V3d ) ) ) ).

thf(thm_2Elist_2EEVERY2__REVERSE,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R: A_27a > A_27b > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ V1l1 @ V2l2 )
     => ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0R @ ( c_2Elist_2EREVERSE @ A_27a @ V1l1 ) @ ( c_2Elist_2EREVERSE @ A_27b @ V2l2 ) ) ) ).

thf(thm_2Elist_2ESUM__MAP__PLUS,axiom,
    ! [A_27a: $tType,V0f: A_27a > tyop_2Enum_2Enum,V1g: A_27a > tyop_2Enum_2Enum,V2ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ESUM
        @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum
          @ ^ [V3x: A_27a] : ( c_2Earithmetic_2E_2B @ ( V0f @ V3x ) @ ( V1g @ V3x ) )
          @ V2ls ) )
      = ( c_2Earithmetic_2E_2B @ ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum @ V0f @ V2ls ) ) @ ( c_2Elist_2ESUM @ ( c_2Elist_2EMAP @ A_27a @ tyop_2Enum_2Enum @ V1g @ V2ls ) ) ) ) ).

thf(thm_2Elist_2ETAKE__LENGTH__ID__rwt,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1m: tyop_2Enum_2Enum] :
      ( ( V1m
        = ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
     => ( ( c_2Elist_2ETAKE @ A_27a @ V1m @ V0l )
        = V0l ) ) ).

thf(thm_2Elist_2EZIP__DROP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0a: tyop_2Elist_2Elist @ A_27a,V1b: tyop_2Elist_2Elist @ A_27b,V2n: tyop_2Enum_2Enum] :
      ( ( ( c_2Earithmetic_2E_3C_3D @ V2n @ ( c_2Elist_2ELENGTH @ A_27a @ V0a ) )
        & ( ( c_2Elist_2ELENGTH @ A_27a @ V0a )
          = ( c_2Elist_2ELENGTH @ A_27b @ V1b ) ) )
     => ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EDROP @ A_27a @ V2n @ V0a ) @ ( c_2Elist_2EDROP @ A_27b @ V2n @ V1b ) ) )
        = ( c_2Elist_2EDROP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V2n @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0a @ V1b ) ) ) ) ) ).

thf(thm_2Elist_2EGENLIST__EL,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1f: tyop_2Enum_2Enum > A_27a,V2n: tyop_2Enum_2Enum] :
      ( ( ( V2n
          = ( c_2Elist_2ELENGTH @ A_27a @ V0ls ) )
        & ! [V3i: tyop_2Enum_2Enum] :
            ( ( c_2Eprim__rec_2E_3C @ V3i @ V2n )
           => ( ( V1f @ V3i )
              = ( c_2Elist_2EEL @ A_27a @ V3i @ V0ls ) ) ) )
     => ( ( c_2Elist_2EGENLIST @ A_27a @ V1f @ V2n )
        = V0ls ) ) ).

thf(thm_2Elist_2EEVERY2__trans,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o] :
      ( ! [V1x: A_27a,V2y: A_27a,V3z: A_27a] :
          ( ( ( V0R @ V1x @ V2y )
            & ( V0R @ V2y @ V3z ) )
         => ( V0R @ V1x @ V3z ) )
     => ! [V4x: tyop_2Elist_2Elist @ A_27a,V5y: tyop_2Elist_2Elist @ A_27a,V6z: tyop_2Elist_2Elist @ A_27a] :
          ( ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27a @ V0R @ V4x @ V5y )
            & ( c_2Elist_2ELIST__REL @ A_27a @ A_27a @ V0R @ V5y @ V6z ) )
         => ( c_2Elist_2ELIST__REL @ A_27a @ A_27a @ V0R @ V4x @ V6z ) ) ) ).

thf(thm_2Elist_2EEVERY2__sym,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0R2: A_27b > A_27a > $o,V1R1: A_27a > A_27b > $o] :
      ( ! [V2x: A_27a,V3y: A_27b] :
          ( ( V1R1 @ V2x @ V3y )
         => ( V0R2 @ V3y @ V2x ) )
     => ! [V4x: tyop_2Elist_2Elist @ A_27a,V5y: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V1R1 @ V4x @ V5y )
         => ( c_2Elist_2ELIST__REL @ A_27b @ A_27a @ V0R2 @ V5y @ V4x ) ) ) ).

thf(thm_2Elist_2EEVERY2__LUPDATE__same,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0P: A_27a > A_27b > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27b,V3v1: A_27a,V4v2: A_27b,V5n: tyop_2Enum_2Enum] :
      ( ( ( V0P @ V3v1 @ V4v2 )
        & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0P @ V1l1 @ V2l2 ) )
     => ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0P @ ( c_2Elist_2ELUPDATE @ A_27a @ V3v1 @ V5n @ V1l1 ) @ ( c_2Elist_2ELUPDATE @ A_27b @ V4v2 @ V5n @ V2l2 ) ) ) ).

thf(thm_2Elist_2EEVERY2__refl,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1R: A_27a > A_27a > $o] :
      ( ! [V2x: A_27a] :
          ( ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0ls ) )
         => ( V1R @ V2x @ V2x ) )
     => ( c_2Elist_2ELIST__REL @ A_27a @ A_27a @ V1R @ V0ls @ V0ls ) ) ).

thf(thm_2Elist_2EEVERY2__THM,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,A_27e: $tType,A_27f: $tType,A_27g: $tType,A_27h: $tType] :
      ( ! [V0P: A_27a > A_27b > $o,V1ys: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0P @ ( c_2Elist_2ENIL @ A_27a ) @ V1ys )
        <=> ( V1ys
            = ( c_2Elist_2ENIL @ A_27b ) ) )
      & ! [V2P: A_27c > A_27d > $o,V3yys: tyop_2Elist_2Elist @ A_27d,V4x: A_27c,V5xs: tyop_2Elist_2Elist @ A_27c] :
          ( ( c_2Elist_2ELIST__REL @ A_27c @ A_27d @ V2P @ ( c_2Elist_2ECONS @ A_27c @ V4x @ V5xs ) @ V3yys )
        <=> ? [V6y: A_27d,V7ys: tyop_2Elist_2Elist @ A_27d] :
              ( ( V3yys
                = ( c_2Elist_2ECONS @ A_27d @ V6y @ V7ys ) )
              & ( V2P @ V4x @ V6y )
              & ( c_2Elist_2ELIST__REL @ A_27c @ A_27d @ V2P @ V5xs @ V7ys ) ) )
      & ! [V8P: A_27e > A_27f > $o,V9xs: tyop_2Elist_2Elist @ A_27e] :
          ( ( c_2Elist_2ELIST__REL @ A_27e @ A_27f @ V8P @ V9xs @ ( c_2Elist_2ENIL @ A_27f ) )
        <=> ( V9xs
            = ( c_2Elist_2ENIL @ A_27e ) ) )
      & ! [V10P: A_27g > A_27h > $o,V11xxs: tyop_2Elist_2Elist @ A_27g,V12y: A_27h,V13ys: tyop_2Elist_2Elist @ A_27h] :
          ( ( c_2Elist_2ELIST__REL @ A_27g @ A_27h @ V10P @ V11xxs @ ( c_2Elist_2ECONS @ A_27h @ V12y @ V13ys ) )
        <=> ? [V14x: A_27g,V15xs: tyop_2Elist_2Elist @ A_27g] :
              ( ( V11xxs
                = ( c_2Elist_2ECONS @ A_27g @ V14x @ V15xs ) )
              & ( V10P @ V14x @ V12y )
              & ( c_2Elist_2ELIST__REL @ A_27g @ A_27h @ V10P @ V15xs @ V13ys ) ) ) ) ).

thf(thm_2Elist_2ELIST__REL__trans,axiom,
    ! [A_27a: $tType,V0R: A_27a > A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a,V3l3: tyop_2Elist_2Elist @ A_27a] :
      ( ( ! [V4n: tyop_2Enum_2Enum] :
            ( ( ( c_2Eprim__rec_2E_3C @ V4n @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) )
              & ( V0R @ ( c_2Elist_2EEL @ A_27a @ V4n @ V1l1 ) @ ( c_2Elist_2EEL @ A_27a @ V4n @ V2l2 ) )
              & ( V0R @ ( c_2Elist_2EEL @ A_27a @ V4n @ V2l2 ) @ ( c_2Elist_2EEL @ A_27a @ V4n @ V3l3 ) ) )
           => ( V0R @ ( c_2Elist_2EEL @ A_27a @ V4n @ V1l1 ) @ ( c_2Elist_2EEL @ A_27a @ V4n @ V3l3 ) ) )
        & ( c_2Elist_2ELIST__REL @ A_27a @ A_27a @ V0R @ V1l1 @ V2l2 )
        & ( c_2Elist_2ELIST__REL @ A_27a @ A_27a @ V0R @ V2l2 @ V3l3 ) )
     => ( c_2Elist_2ELIST__REL @ A_27a @ A_27a @ V0R @ V1l1 @ V3l3 ) ) ).

thf(thm_2Elist_2ESWAP__REVERSE,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( V0l1
        = ( c_2Elist_2EREVERSE @ A_27a @ V1l2 ) )
    <=> ( V1l2
        = ( c_2Elist_2EREVERSE @ A_27a @ V0l1 ) ) ) ).

thf(thm_2Elist_2ESWAP__REVERSE__SYM,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EREVERSE @ A_27a @ V0l1 )
        = V1l2 )
    <=> ( V0l1
        = ( c_2Elist_2EREVERSE @ A_27a @ V1l2 ) ) ) ).

thf(thm_2Elist_2EBIGUNION__IMAGE__set__SUBSET,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0s: A_27a > $o,V1ls: tyop_2Elist_2Elist @ A_27b,V2f: A_27b > A_27a > $o] :
      ( ( c_2Epred__set_2ESUBSET @ A_27a @ ( c_2Epred__set_2EBIGUNION @ A_27a @ ( c_2Epred__set_2EIMAGE @ A_27b @ ( A_27a > $o ) @ V2f @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ V1ls ) ) ) @ V0s )
    <=> ! [V3x: A_27b] :
          ( ( c_2Ebool_2EIN @ A_27b @ V3x @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ V1ls ) )
         => ( c_2Epred__set_2ESUBSET @ A_27a @ ( V2f @ V3x ) @ V0s ) ) ) ).

thf(thm_2Elist_2EIMAGE__EL__count__LENGTH,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Epred__set_2EIMAGE @ tyop_2Enum_2Enum @ A_27b
        @ ^ [V2n: tyop_2Enum_2Enum] : ( V0f @ ( c_2Elist_2EEL @ A_27a @ V2n @ V1ls ) )
        @ ( c_2Epred__set_2Ecount @ ( c_2Elist_2ELENGTH @ A_27a @ V1ls ) ) )
      = ( c_2Epred__set_2EIMAGE @ A_27a @ A_27b @ V0f @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1ls ) ) ) ).

thf(thm_2Elist_2EGENLIST__EL__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > A_27b,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EGENLIST @ A_27b
        @ ^ [V2n: tyop_2Enum_2Enum] : ( V0f @ ( c_2Elist_2EEL @ A_27a @ V2n @ V1ls ) )
        @ ( c_2Elist_2ELENGTH @ A_27a @ V1ls ) )
      = ( c_2Elist_2EMAP @ A_27a @ A_27b @ V0f @ V1ls ) ) ).

thf(thm_2Elist_2ELENGTH__FILTER__LEQ__MONO,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1Q: A_27a > $o] :
      ( ! [V2x: A_27a] :
          ( ( V0P @ V2x )
         => ( V1Q @ V2x ) )
     => ! [V3ls: tyop_2Elist_2Elist @ A_27a] : ( c_2Earithmetic_2E_3C_3D @ ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V0P @ V3ls ) ) @ ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V1Q @ V3ls ) ) ) ) ).

thf(thm_2Elist_2ELIST__EQ__MAP__PAIR,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ),V1l2: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )] :
      ( ( ( ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a @ ( c_2Epair_2EFST @ A_27a @ A_27b ) @ V0l1 )
          = ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27a @ ( c_2Epair_2EFST @ A_27a @ A_27b ) @ V1l2 ) )
        & ( ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27b @ ( c_2Epair_2ESND @ A_27a @ A_27b ) @ V0l1 )
          = ( c_2Elist_2EMAP @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ A_27b @ ( c_2Epair_2ESND @ A_27a @ A_27b ) @ V1l2 ) ) )
     => ( V0l1 = V1l2 ) ) ).

thf(thm_2Elist_2ETAKE__SUM,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1m: tyop_2Enum_2Enum,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2ETAKE @ A_27a @ ( c_2Earithmetic_2E_2B @ V0n @ V1m ) @ V2l )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2ETAKE @ A_27a @ V0n @ V2l ) @ ( c_2Elist_2ETAKE @ A_27a @ V1m @ ( c_2Elist_2EDROP @ A_27a @ V0n @ V2l ) ) ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__FILTER__EL__IMP,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l: tyop_2Elist_2Elist @ A_27a,V2n1: tyop_2Enum_2Enum,V3n2: tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2EALL__DISTINCT @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ V0P @ V1l ) )
        & ( c_2Eprim__rec_2E_3C @ V2n1 @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) )
        & ( c_2Eprim__rec_2E_3C @ V3n2 @ ( c_2Elist_2ELENGTH @ A_27a @ V1l ) )
        & ( V0P @ ( c_2Elist_2EEL @ A_27a @ V2n1 @ V1l ) )
        & ( ( c_2Elist_2EEL @ A_27a @ V2n1 @ V1l )
          = ( c_2Elist_2EEL @ A_27a @ V3n2 @ V1l ) ) )
     => ( V2n1 = V3n2 ) ) ).

thf(thm_2Elist_2EFLAT__EQ__NIL,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ ( tyop_2Elist_2Elist @ A_27a )] :
      ( ( ( c_2Elist_2EFLAT @ A_27a @ V0ls )
        = ( c_2Elist_2ENIL @ A_27a ) )
    <=> ( c_2Elist_2EEVERY @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Emin_2E_3D @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ENIL @ A_27a ) ) @ V0ls ) ) ).

thf(thm_2Elist_2EALL__DISTINCT__MAP__INJ,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0ls: tyop_2Elist_2Elist @ A_27a,V1f: A_27a > A_27b] :
      ( ( ! [V2x: A_27a,V3y: A_27a] :
            ( ( ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0ls ) )
              & ( c_2Ebool_2EIN @ A_27a @ V3y @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V0ls ) )
              & ( ( V1f @ V2x )
                = ( V1f @ V3y ) ) )
           => ( V2x = V3y ) )
        & ( c_2Elist_2EALL__DISTINCT @ A_27a @ V0ls ) )
     => ( c_2Elist_2EALL__DISTINCT @ A_27b @ ( c_2Elist_2EMAP @ A_27a @ A_27b @ V1f @ V0ls ) ) ) ).

thf(thm_2Elist_2ELENGTH__o__REVERSE,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0f: A_27b > ( tyop_2Elist_2Elist @ A_27c )] :
      ( ( ( c_2Ecombin_2Eo @ ( tyop_2Elist_2Elist @ A_27a ) @ tyop_2Enum_2Enum @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Elist_2ELENGTH @ A_27a ) @ ( c_2Elist_2EREVERSE @ A_27a ) )
        = ( c_2Elist_2ELENGTH @ A_27a ) )
      & ( ( c_2Ecombin_2Eo @ A_27b @ tyop_2Enum_2Enum @ ( tyop_2Elist_2Elist @ A_27c ) @ ( c_2Elist_2ELENGTH @ A_27c ) @ ( c_2Ecombin_2Eo @ A_27b @ ( tyop_2Elist_2Elist @ A_27c ) @ ( tyop_2Elist_2Elist @ A_27c ) @ ( c_2Elist_2EREVERSE @ A_27c ) @ V0f ) )
        = ( c_2Ecombin_2Eo @ A_27b @ tyop_2Enum_2Enum @ ( tyop_2Elist_2Elist @ A_27c ) @ ( c_2Elist_2ELENGTH @ A_27c ) @ V0f ) ) ) ).

thf(thm_2Elist_2EREVERSE__o__REVERSE,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f: A_27a > ( tyop_2Elist_2Elist @ A_27b )] :
      ( ( c_2Ecombin_2Eo @ A_27a @ ( tyop_2Elist_2Elist @ A_27b ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EREVERSE @ A_27b ) @ ( c_2Ecombin_2Eo @ A_27a @ ( tyop_2Elist_2Elist @ A_27b ) @ ( tyop_2Elist_2Elist @ A_27b ) @ ( c_2Elist_2EREVERSE @ A_27b ) @ V0f ) )
      = V0f ) ).

thf(thm_2Elist_2EGENLIST__PLUS__APPEND,axiom,
    ! [V0n2: tyop_2Enum_2Enum,V1n1: tyop_2Enum_2Enum,V2a: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EAPPEND @ tyop_2Enum_2Enum @ ( c_2Elist_2EGENLIST @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V2a ) @ V1n1 ) @ ( c_2Elist_2EGENLIST @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2B @ V1n1 @ V2a ) ) @ V0n2 ) )
      = ( c_2Elist_2EGENLIST @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V2a ) @ ( c_2Earithmetic_2E_2B @ V1n1 @ V0n2 ) ) ) ).

thf(thm_2Elist_2ELIST__TO__SET__GENLIST,axiom,
    ! [A_27a: $tType,V0f: tyop_2Enum_2Enum > A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EGENLIST @ A_27a @ V0f @ V1n ) )
      = ( c_2Epred__set_2EIMAGE @ tyop_2Enum_2Enum @ A_27a @ V0f @ ( c_2Epred__set_2Ecount @ V1n ) ) ) ).

thf(thm_2Elist_2EMEM__ZIP__MEM__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0ps: tyop_2Epair_2Eprod @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ),V1p: tyop_2Epair_2Eprod @ A_27a @ A_27b] :
      ( ( ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Epair_2EFST @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0ps ) )
          = ( c_2Elist_2ELENGTH @ A_27b @ ( c_2Epair_2ESND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0ps ) ) )
        & ( c_2Ebool_2EIN @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V1p @ ( c_2Elist_2ELIST__TO__SET @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ V0ps ) ) ) )
     => ( ( c_2Ebool_2EIN @ A_27a @ ( c_2Epair_2EFST @ A_27a @ A_27b @ V1p ) @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Epair_2EFST @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0ps ) ) )
        & ( c_2Ebool_2EIN @ A_27b @ ( c_2Epair_2ESND @ A_27a @ A_27b @ V1p ) @ ( c_2Elist_2ELIST__TO__SET @ A_27b @ ( c_2Epair_2ESND @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0ps ) ) ) ) ) ).

thf(thm_2Elist_2EDISJOINT__GENLIST__PLUS,axiom,
    ! [V0x: tyop_2Enum_2Enum > $o,V1n: tyop_2Enum_2Enum,V2b: tyop_2Enum_2Enum,V3a: tyop_2Enum_2Enum] :
      ( ( c_2Epred__set_2EDISJOINT @ tyop_2Enum_2Enum @ V0x @ ( c_2Elist_2ELIST__TO__SET @ tyop_2Enum_2Enum @ ( c_2Elist_2EGENLIST @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V1n ) @ ( c_2Earithmetic_2E_2B @ V3a @ V2b ) ) ) )
     => ( ( c_2Epred__set_2EDISJOINT @ tyop_2Enum_2Enum @ V0x @ ( c_2Elist_2ELIST__TO__SET @ tyop_2Enum_2Enum @ ( c_2Elist_2EGENLIST @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ V1n ) @ V3a ) ) )
        & ( c_2Epred__set_2EDISJOINT @ tyop_2Enum_2Enum @ V0x @ ( c_2Elist_2ELIST__TO__SET @ tyop_2Enum_2Enum @ ( c_2Elist_2EGENLIST @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_2B @ ( c_2Earithmetic_2E_2B @ V1n @ V3a ) ) @ V2b ) ) ) ) ) ).

thf(thm_2Elist_2EEVERY2__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,A_27d: $tType,V0l2: tyop_2Elist_2Elist @ A_27b,V1l1: tyop_2Elist_2Elist @ A_27c,V2g: A_27b > A_27d,V3f: A_27c > A_27a,V4Q: A_27c > A_27d > $o,V5P: A_27a > A_27b > $o] :
      ( ( ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V5P @ ( c_2Elist_2EMAP @ A_27c @ A_27a @ V3f @ V1l1 ) @ V0l2 )
        = ( c_2Elist_2ELIST__REL @ A_27c @ A_27b
          @ ^ [V6x: A_27c,V7y: A_27b] : ( V5P @ ( V3f @ V6x ) @ V7y )
          @ V1l1
          @ V0l2 ) )
      & ( ( c_2Elist_2ELIST__REL @ A_27c @ A_27d @ V4Q @ V1l1 @ ( c_2Elist_2EMAP @ A_27b @ A_27d @ V2g @ V0l2 ) )
        = ( c_2Elist_2ELIST__REL @ A_27c @ A_27b
          @ ^ [V8x: A_27c,V9y: A_27b] : ( V4Q @ V8x @ ( V2g @ V9y ) )
          @ V1l1
          @ V0l2 ) ) ) ).

thf(thm_2Elist_2Eexists__list__GENLIST,axiom,
    ! [A_27a: $tType,V0P: ( tyop_2Elist_2Elist @ A_27a ) > $o] :
      ( ? [V1ls: tyop_2Elist_2Elist @ A_27a] : ( V0P @ V1ls )
    <=> ? [V2n: tyop_2Enum_2Enum,V3f: tyop_2Enum_2Enum > A_27a] : ( V0P @ ( c_2Elist_2EGENLIST @ A_27a @ V3f @ V2n ) ) ) ).

thf(thm_2Elist_2EEVERY__MEM__MONO,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1Q: A_27a > $o,V2l: tyop_2Elist_2Elist @ A_27a] :
      ( ( ! [V3x: A_27a] :
            ( ( ( c_2Ebool_2EIN @ A_27a @ V3x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V2l ) )
              & ( V0P @ V3x ) )
           => ( V1Q @ V3x ) )
        & ( c_2Elist_2EEVERY @ A_27a @ V0P @ V2l ) )
     => ( c_2Elist_2EEVERY @ A_27a @ V1Q @ V2l ) ) ).

thf(thm_2Elist_2EEVERY2__MEM__MONO,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0P: A_27a > A_27b > $o,V1Q: A_27a > A_27b > $o,V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ! [V4x: tyop_2Epair_2Eprod @ A_27a @ A_27b] :
            ( ( ( c_2Ebool_2EIN @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V4x @ ( c_2Elist_2ELIST__TO__SET @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V2l1 @ V3l2 ) ) ) )
              & ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ $o @ V0P @ V4x ) )
           => ( c_2Epair_2EUNCURRY @ A_27a @ A_27b @ $o @ V1Q @ V4x ) )
        & ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V0P @ V2l1 @ V3l2 ) )
     => ( c_2Elist_2ELIST__REL @ A_27a @ A_27b @ V1Q @ V2l1 @ V3l2 ) ) ).

thf(thm_2Elist_2Emem__exists__set,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0x: A_27a,V1y: A_27b,V2l: tyop_2Elist_2Elist @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )] :
      ( ( c_2Ebool_2EIN @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ ( c_2Epair_2E_2C @ A_27a @ A_27b @ V0x @ V1y ) @ ( c_2Elist_2ELIST__TO__SET @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V2l ) )
     => ? [V3z: tyop_2Epair_2Eprod @ A_27a @ A_27b] :
          ( ( V0x
            = ( c_2Epair_2EFST @ A_27a @ A_27b @ V3z ) )
          & ( c_2Ebool_2EIN @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V3z @ ( c_2Elist_2ELIST__TO__SET @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) @ V2l ) ) ) ) ).

thf(thm_2Elist_2Eevery__zip__snd,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b,V2P: A_27b > $o] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ( ( c_2Elist_2EEVERY @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )
          @ ^ [V3x: tyop_2Epair_2Eprod @ A_27a @ A_27b] : ( V2P @ ( c_2Epair_2ESND @ A_27a @ A_27b @ V3x ) )
          @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) )
        = ( c_2Elist_2EEVERY @ A_27b @ V2P @ V1l2 ) ) ) ).

thf(thm_2Elist_2Eevery__zip__fst,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b,V2P: A_27a > $o] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ( ( c_2Elist_2EEVERY @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b )
          @ ^ [V3x: tyop_2Epair_2Eprod @ A_27a @ A_27b] : ( V2P @ ( c_2Epair_2EFST @ A_27a @ A_27b @ V3x ) )
          @ ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) ) )
        = ( c_2Elist_2EEVERY @ A_27a @ V2P @ V0l1 ) ) ) ).

thf(thm_2Elist_2Eel__append3,axiom,
    ! [A_27a: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEL @ A_27a @ ( c_2Elist_2ELENGTH @ A_27a @ V0l1 ) @ ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V0l1 @ ( c_2Elist_2ECONS @ A_27a @ V1x @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V2l2 ) )
      = V1x ) ).

thf(thm_2Elist_2Elupdate__append,axiom,
    ! [A_27a: $tType,V0x: A_27a,V1n: tyop_2Enum_2Enum,V2l1: tyop_2Elist_2Elist @ A_27a,V3l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V2l1 ) )
     => ( ( c_2Elist_2ELUPDATE @ A_27a @ V0x @ V1n @ ( c_2Elist_2EAPPEND @ A_27a @ V2l1 @ V3l2 ) )
        = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2ELUPDATE @ A_27a @ V0x @ V1n @ V2l1 ) @ V3l2 ) ) ) ).

thf(thm_2Elist_2Elupdate__append2,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0v: A_27a,V1l1: tyop_2Elist_2Elist @ A_27a,V2x: A_27a,V3l2: tyop_2Elist_2Elist @ A_27a,V4l3: A_27b] :
      ( ( c_2Elist_2ELUPDATE @ A_27a @ V0v @ ( c_2Elist_2ELENGTH @ A_27a @ V1l1 ) @ ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ ( c_2Elist_2ECONS @ A_27a @ V2x @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V3l2 ) )
      = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ ( c_2Elist_2ECONS @ A_27a @ V0v @ ( c_2Elist_2ENIL @ A_27a ) ) ) @ V3l2 ) ) ).

thf(thm_2Elist_2EHD__REVERSE,axiom,
    ! [A_27a: $tType,V0x: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~)
        @ ( V0x
          = ( c_2Elist_2ENIL @ A_27a ) ) )
     => ( ( c_2Elist_2EHD @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0x ) )
        = ( c_2Elist_2ELAST @ A_27a @ V0x ) ) ) ).

thf(thm_2Elist_2ELAST__REVERSE,axiom,
    ! [A_27a: $tType,V0ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~)
        @ ( V0ls
          = ( c_2Elist_2ENIL @ A_27a ) ) )
     => ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2EREVERSE @ A_27a @ V0ls ) )
        = ( c_2Elist_2EHD @ A_27a @ V0ls ) ) ) ).

thf(thm_2Elist_2ENOT__NIL__EQ__LENGTH__NOT__0,axiom,
    ! [A_27a: $tType,V0x: tyop_2Elist_2Elist @ A_27a] :
      ( ( (~)
        @ ( V0x
          = ( c_2Elist_2ENIL @ A_27a ) ) )
    <=> ( c_2Eprim__rec_2E_3C @ c_2Enum_2E0 @ ( c_2Elist_2ELENGTH @ A_27a @ V0x ) ) ) ).

thf(thm_2Elist_2Elast__drop,axiom,
    ! [A_27a: $tType,V0l: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Eprim__rec_2E_3C @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V0l ) )
     => ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2EDROP @ A_27a @ V1n @ V0l ) )
        = ( c_2Elist_2ELAST @ A_27a @ V0l ) ) ) ).

thf(thm_2Elist_2EdropWhile__splitAtPki,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o] :
      ( ( c_2Elist_2EdropWhile @ A_27a @ V0P )
      = ( c_2Elist_2EsplitAtPki @ ( tyop_2Elist_2Elist @ A_27a ) @ A_27a @ ( c_2Ecombin_2EC @ A_27a @ tyop_2Enum_2Enum @ $o @ ( c_2Ecombin_2Eo @ A_27a @ ( tyop_2Enum_2Enum > $o ) @ $o @ ( c_2Ecombin_2EK @ $o @ tyop_2Enum_2Enum ) @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) ) ) @ ( c_2Ecombin_2EK @ ( ( tyop_2Elist_2Elist @ A_27a ) > ( tyop_2Elist_2Elist @ A_27a ) ) @ ( tyop_2Elist_2Elist @ A_27a ) @ ( c_2Ecombin_2EI @ ( tyop_2Elist_2Elist @ A_27a ) ) ) ) ) ).

thf(thm_2Elist_2EdropWhile__eq__nil,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( c_2Elist_2EdropWhile @ A_27a @ V0P @ V1ls )
        = ( c_2Elist_2ENIL @ A_27a ) )
    <=> ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1ls ) ) ).

thf(thm_2Elist_2EMEM__dropWhile__IMP,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1ls: tyop_2Elist_2Elist @ A_27a,V2x: A_27a] :
      ( ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ ( c_2Elist_2EdropWhile @ A_27a @ V0P @ V1ls ) ) )
     => ( c_2Ebool_2EIN @ A_27a @ V2x @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V1ls ) ) ) ).

thf(thm_2Elist_2EHD__dropWhile,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27a @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) @ V1ls )
     => ( (~) @ ( V0P @ ( c_2Elist_2EHD @ A_27a @ ( c_2Elist_2EdropWhile @ A_27a @ V0P @ V1ls ) ) ) ) ) ).

thf(thm_2Elist_2ELENGTH__dropWhile__LESS__EQ,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1ls: tyop_2Elist_2Elist @ A_27a] : ( c_2Earithmetic_2E_3C_3D @ ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EdropWhile @ A_27a @ V0P @ V1ls ) ) @ ( c_2Elist_2ELENGTH @ A_27a @ V1ls ) ) ).

thf(thm_2Elist_2EdropWhile__APPEND__EVERY,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1l1 )
     => ( ( c_2Elist_2EdropWhile @ A_27a @ V0P @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V2l2 ) )
        = ( c_2Elist_2EdropWhile @ A_27a @ V0P @ V2l2 ) ) ) ).

thf(thm_2Elist_2EdropWhile__APPEND__EXISTS,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1l1: tyop_2Elist_2Elist @ A_27a,V2l2: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EEXISTS @ A_27a @ ( c_2Ecombin_2Eo @ A_27a @ $o @ $o @ c_2Ebool_2E_7E @ V0P ) @ V1l1 )
     => ( ( c_2Elist_2EdropWhile @ A_27a @ V0P @ ( c_2Elist_2EAPPEND @ A_27a @ V1l1 @ V2l2 ) )
        = ( c_2Elist_2EAPPEND @ A_27a @ ( c_2Elist_2EdropWhile @ A_27a @ V0P @ V1l1 ) @ V2l2 ) ) ) ).

thf(thm_2Elist_2EEL__LENGTH__dropWhile__REVERSE,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1ls: tyop_2Elist_2Elist @ A_27a,V2k: tyop_2Enum_2Enum] :
      ( ( ( c_2Earithmetic_2E_3C_3D @ ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EdropWhile @ A_27a @ V0P @ ( c_2Elist_2EREVERSE @ A_27a @ V1ls ) ) ) @ V2k )
        & ( c_2Eprim__rec_2E_3C @ V2k @ ( c_2Elist_2ELENGTH @ A_27a @ V1ls ) ) )
     => ( V0P @ ( c_2Elist_2EEL @ A_27a @ V2k @ V1ls ) ) ) ).

thf(thm_2Elist_2ELENGTH__TAKE__EQ,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2ETAKE @ A_27a @ V1n @ V0xs ) )
      = ( c_2Ebool_2ECOND @ tyop_2Enum_2Enum @ ( c_2Earithmetic_2E_3C_3D @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V0xs ) ) @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V0xs ) ) ) ).

thf(thm_2Elist_2EIMP__EVERY__LUPDATE,axiom,
    ! [A_27a: $tType,V0P: A_27a > $o,V1xs: tyop_2Elist_2Elist @ A_27a,V2h: A_27a,V3i: tyop_2Enum_2Enum] :
      ( ( ( V0P @ V2h )
        & ( c_2Elist_2EEVERY @ A_27a @ V0P @ V1xs ) )
     => ( c_2Elist_2EEVERY @ A_27a @ V0P @ ( c_2Elist_2ELUPDATE @ A_27a @ V2h @ V3i @ V1xs ) ) ) ).

thf(thm_2Elist_2EMAP__APPEND__MAP__EQ,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType,V0g2: A_27b > A_27c,V1g1: A_27b > A_27c,V2f2: A_27a > A_27c,V3f1: A_27a > A_27c,V4xs: tyop_2Elist_2Elist @ A_27a,V5ys: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2EAPPEND @ A_27c @ ( c_2Elist_2EMAP @ A_27a @ A_27c @ V3f1 @ V4xs ) @ ( c_2Elist_2EMAP @ A_27b @ A_27c @ V1g1 @ V5ys ) )
        = ( c_2Elist_2EAPPEND @ A_27c @ ( c_2Elist_2EMAP @ A_27a @ A_27c @ V2f2 @ V4xs ) @ ( c_2Elist_2EMAP @ A_27b @ A_27c @ V0g2 @ V5ys ) ) )
    <=> ( ( ( c_2Elist_2EMAP @ A_27a @ A_27c @ V3f1 @ V4xs )
          = ( c_2Elist_2EMAP @ A_27a @ A_27c @ V2f2 @ V4xs ) )
        & ( ( c_2Elist_2EMAP @ A_27b @ A_27c @ V1g1 @ V5ys )
          = ( c_2Elist_2EMAP @ A_27b @ A_27c @ V0g2 @ V5ys ) ) ) ) ).

thf(thm_2Elist_2ELUPDATE__SOME__MAP,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0xs: tyop_2Elist_2Elist @ ( tyop_2Eoption_2Eoption @ A_27a ),V1n: tyop_2Enum_2Enum,V2f: A_27a > A_27b,V3h: A_27a] :
      ( ( c_2Elist_2ELUPDATE @ ( tyop_2Eoption_2Eoption @ A_27b ) @ ( c_2Eoption_2ESOME @ A_27b @ ( V2f @ V3h ) ) @ V1n @ ( c_2Elist_2EMAP @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( tyop_2Eoption_2Eoption @ A_27b ) @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b @ V2f ) @ V0xs ) )
      = ( c_2Elist_2EMAP @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( tyop_2Eoption_2Eoption @ A_27b ) @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b @ V2f ) @ ( c_2Elist_2ELUPDATE @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( c_2Eoption_2ESOME @ A_27a @ V3h ) @ V1n @ V0xs ) ) ) ).

thf(thm_2Elist_2EZIP__EQ__NIL,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0l1: tyop_2Elist_2Elist @ A_27a,V1l2: tyop_2Elist_2Elist @ A_27b] :
      ( ( ( c_2Elist_2ELENGTH @ A_27a @ V0l1 )
        = ( c_2Elist_2ELENGTH @ A_27b @ V1l2 ) )
     => ( ( ( c_2Elist_2EZIP @ A_27a @ A_27b @ ( c_2Epair_2E_2C @ ( tyop_2Elist_2Elist @ A_27a ) @ ( tyop_2Elist_2Elist @ A_27b ) @ V0l1 @ V1l2 ) )
          = ( c_2Elist_2ENIL @ ( tyop_2Epair_2Eprod @ A_27a @ A_27b ) ) )
      <=> ( ( V0l1
            = ( c_2Elist_2ENIL @ A_27a ) )
          & ( V1l2
            = ( c_2Elist_2ENIL @ A_27b ) ) ) ) ) ).

thf(thm_2Elist_2ELUPDATE__SAME,axiom,
    ! [A_27a: $tType,V0n: tyop_2Enum_2Enum,V1ls: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Eprim__rec_2E_3C @ V0n @ ( c_2Elist_2ELENGTH @ A_27a @ V1ls ) )
     => ( ( c_2Elist_2ELUPDATE @ A_27a @ ( c_2Elist_2EEL @ A_27a @ V0n @ V1ls ) @ V0n @ V1ls )
        = V1ls ) ) ).

thf(thm_2Elist_2EUNIQUE__FILTER,axiom,
    ! [A_27a: $tType,V0e: A_27a,V1L: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EUNIQUE @ A_27a @ V0e @ V1L )
    <=> ( ( c_2Elist_2EFILTER @ A_27a @ ( c_2Emin_2E_3D @ A_27a @ V0e ) @ V1L )
        = ( c_2Elist_2ECONS @ A_27a @ V0e @ ( c_2Elist_2ENIL @ A_27a ) ) ) ) ).

thf(thm_2Elist_2EUNIQUE__LENGTH__FILTER,axiom,
    ! [A_27a: $tType,V0e: A_27a,V1L: tyop_2Elist_2Elist @ A_27a] :
      ( ( c_2Elist_2EUNIQUE @ A_27a @ V0e @ V1L )
    <=> ( ( c_2Elist_2ELENGTH @ A_27a @ ( c_2Elist_2EFILTER @ A_27a @ ( c_2Emin_2E_3D @ A_27a @ V0e ) @ V1L ) )
        = ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) ) ).

thf(thm_2Elist_2EOPT__MMAP__cong,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0f1: A_27a > ( tyop_2Eoption_2Eoption @ A_27b ),V1f2: A_27a > ( tyop_2Eoption_2Eoption @ A_27b ),V2x1: tyop_2Elist_2Elist @ A_27a,V3x2: tyop_2Elist_2Elist @ A_27a] :
      ( ( ( V2x1 = V3x2 )
        & ! [V4a: A_27a] :
            ( ( c_2Ebool_2EIN @ A_27a @ V4a @ ( c_2Elist_2ELIST__TO__SET @ A_27a @ V3x2 ) )
           => ( ( V0f1 @ V4a )
              = ( V1f2 @ V4a ) ) ) )
     => ( ( c_2Elist_2EOPT__MMAP @ A_27b @ A_27a @ V0f1 @ V2x1 )
        = ( c_2Elist_2EOPT__MMAP @ A_27b @ A_27a @ V1f2 @ V3x2 ) ) ) ).

thf(thm_2Elist_2ELAST__compute,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ! [V0x: A_27a] :
          ( ( c_2Elist_2ELAST @ A_27a @ ( c_2Elist_2ECONS @ A_27a @ V0x @ ( c_2Elist_2ENIL @ A_27a ) ) )
          = V0x )
      & ! [V1h1: A_27b,V2h2: A_27b,V3t: tyop_2Elist_2Elist @ A_27b] :
          ( ( c_2Elist_2ELAST @ A_27b @ ( c_2Elist_2ECONS @ A_27b @ V1h1 @ ( c_2Elist_2ECONS @ A_27b @ V2h2 @ V3t ) ) )
          = ( c_2Elist_2ELAST @ A_27b @ ( c_2Elist_2ECONS @ A_27b @ V2h2 @ V3t ) ) ) ) ).

thf(thm_2Elist_2ETAKE__compute,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType] :
      ( ! [V0l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2ETAKE @ A_27a @ c_2Enum_2E0 @ V0l )
          = ( c_2Elist_2ENIL @ A_27a ) )
      & ! [V1n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2ETAKE @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ ( c_2Elist_2ENIL @ A_27b ) )
          = ( c_2Elist_2ENIL @ A_27b ) )
      & ! [V2n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2ETAKE @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V2n ) ) @ ( c_2Elist_2ENIL @ A_27b ) )
          = ( c_2Elist_2ENIL @ A_27b ) )
      & ! [V3n: tyop_2Enum_2Enum,V4h: A_27c,V5t: tyop_2Elist_2Elist @ A_27c] :
          ( ( c_2Elist_2ETAKE @ A_27c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Elist_2ECONS @ A_27c @ V4h @ V5t ) )
          = ( c_2Elist_2ECONS @ A_27c @ V4h @ ( c_2Elist_2ETAKE @ A_27c @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V5t ) ) )
      & ! [V6n: tyop_2Enum_2Enum,V7h: A_27c,V8t: tyop_2Elist_2Elist @ A_27c] :
          ( ( c_2Elist_2ETAKE @ A_27c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V6n ) ) @ ( c_2Elist_2ECONS @ A_27c @ V7h @ V8t ) )
          = ( c_2Elist_2ECONS @ A_27c @ V7h @ ( c_2Elist_2ETAKE @ A_27c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) @ V8t ) ) ) ) ).

thf(thm_2Elist_2EDROP__compute,axiom,
    ! [A_27a: $tType,A_27b: $tType,A_27c: $tType] :
      ( ! [V0l: tyop_2Elist_2Elist @ A_27a] :
          ( ( c_2Elist_2EDROP @ A_27a @ c_2Enum_2E0 @ V0l )
          = V0l )
      & ! [V1n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2EDROP @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V1n ) ) @ ( c_2Elist_2ENIL @ A_27b ) )
          = ( c_2Elist_2ENIL @ A_27b ) )
      & ! [V2n: tyop_2Enum_2Enum] :
          ( ( c_2Elist_2EDROP @ A_27b @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V2n ) ) @ ( c_2Elist_2ENIL @ A_27b ) )
          = ( c_2Elist_2ENIL @ A_27b ) )
      & ! [V3n: tyop_2Enum_2Enum,V4h: A_27c,V5t: tyop_2Elist_2Elist @ A_27c] :
          ( ( c_2Elist_2EDROP @ A_27c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Elist_2ECONS @ A_27c @ V4h @ V5t ) )
          = ( c_2Elist_2EDROP @ A_27c @ ( c_2Earithmetic_2E_2D @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V3n ) ) @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ c_2Earithmetic_2EZERO ) ) ) @ V5t ) )
      & ! [V6n: tyop_2Enum_2Enum,V7h: A_27c,V8t: tyop_2Elist_2Elist @ A_27c] :
          ( ( c_2Elist_2EDROP @ A_27c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT2 @ V6n ) ) @ ( c_2Elist_2ECONS @ A_27c @ V7h @ V8t ) )
          = ( c_2Elist_2EDROP @ A_27c @ ( c_2Earithmetic_2ENUMERAL @ ( c_2Earithmetic_2EBIT1 @ V6n ) ) @ V8t ) ) ) ).

thf(thm_2Elist_2EoHD__thm,axiom,
    ! [A_27a: $tType,A_27b: $tType,V0t: tyop_2Elist_2Elist @ A_27b,V1h: A_27b] :
      ( ( ( c_2Elist_2EoHD @ A_27a @ ( c_2Elist_2ENIL @ A_27a ) )
        = ( c_2Eoption_2ENONE @ A_27a ) )
      & ( ( c_2Elist_2EoHD @ A_27b @ ( c_2Elist_2ECONS @ A_27b @ V1h @ V0t ) )
        = ( c_2Eoption_2ESOME @ A_27b @ V1h ) ) ) ).

thf(thm_2Elist_2EoEL__THM,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EoEL @ A_27a @ V1n @ V0xs )
      = ( c_2Ebool_2ECOND @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( c_2Eprim__rec_2E_3C @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V0xs ) ) @ ( c_2Eoption_2ESOME @ A_27a @ ( c_2Elist_2EEL @ A_27a @ V1n @ V0xs ) ) @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ).

thf(thm_2Elist_2EoEL__EQ__EL,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum,V2y: A_27a] :
      ( ( ( c_2Elist_2EoEL @ A_27a @ V1n @ V0xs )
        = ( c_2Eoption_2ESOME @ A_27a @ V2y ) )
    <=> ( ( c_2Eprim__rec_2E_3C @ V1n @ ( c_2Elist_2ELENGTH @ A_27a @ V0xs ) )
        & ( V2y
          = ( c_2Elist_2EEL @ A_27a @ V1n @ V0xs ) ) ) ) ).

thf(thm_2Elist_2EoEL__DROP,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1n: tyop_2Enum_2Enum,V2m: tyop_2Enum_2Enum] :
      ( ( c_2Elist_2EoEL @ A_27a @ V1n @ ( c_2Elist_2EDROP @ A_27a @ V2m @ V0xs ) )
      = ( c_2Elist_2EoEL @ A_27a @ ( c_2Earithmetic_2E_2B @ V2m @ V1n ) @ V0xs ) ) ).

thf(thm_2Elist_2EoEL__TAKE__E,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1x: A_27a,V2n: tyop_2Enum_2Enum,V3m: tyop_2Enum_2Enum] :
      ( ( ( c_2Elist_2EoEL @ A_27a @ V2n @ ( c_2Elist_2ETAKE @ A_27a @ V3m @ V0xs ) )
        = ( c_2Eoption_2ESOME @ A_27a @ V1x ) )
     => ( ( c_2Elist_2EoEL @ A_27a @ V2n @ V0xs )
        = ( c_2Eoption_2ESOME @ A_27a @ V1x ) ) ) ).

thf(thm_2Elist_2EoEL__LUPDATE,axiom,
    ! [A_27a: $tType,V0xs: tyop_2Elist_2Elist @ A_27a,V1i: tyop_2Enum_2Enum,V2n: tyop_2Enum_2Enum,V3x: A_27a] :
      ( ( c_2Elist_2EoEL @ A_27a @ V2n @ ( c_2Elist_2ELUPDATE @ A_27a @ V3x @ V1i @ V0xs ) )
      = ( c_2Ebool_2ECOND @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( c_2Ebool_2E_7E @ ( c_2Emin_2E_3D @ tyop_2Enum_2Enum @ V1i @ V2n ) ) @ ( c_2Elist_2EoEL @ A_27a @ V2n @ V0xs ) @ ( c_2Ebool_2ECOND @ ( tyop_2Eoption_2Eoption @ A_27a ) @ ( c_2Eprim__rec_2E_3C @ V1i @ ( c_2Elist_2ELENGTH @ A_27a @ V0xs ) ) @ ( c_2Eoption_2ESOME @ A_27a @ V3x ) @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ).

thf(thm_2Elist_2Elazy__list__case__compute,axiom,
    ! [A_27a: $tType,A_27b: $tType] :
      ( ( c_2Elist_2Elist__CASE @ A_27a @ A_27b )
      = ( ^ [V0l: tyop_2Elist_2Elist @ A_27a,V1b: A_27b,V2f: A_27a > ( tyop_2Elist_2Elist @ A_27a ) > A_27b] : ( c_2Ebool_2ECOND @ A_27b @ ( c_2Elist_2ENULL @ A_27a @ V0l ) @ V1b @ ( V2f @ ( c_2Elist_2EHD @ A_27a @ V0l ) @ ( c_2Elist_2ETL @ A_27a @ V0l ) ) ) ) ) ).

%------------------------------------------------------------------------------